python代码——忽略大小写的字符串比较

题目:

一般我们用strcmp可比较两个字符串的大小,比较方法为对两个字符串从前往后逐个字符相比较(按 \text{ASCII}ASCII 码值大小比较),直到出现不同的字符或遇到'\0'为止。如果全部字符都相同,则认为相同;如果出现不相同的字符,则以第一个不相同的字符的比较结果为准(注意:如果某个字符串遇到'\0',而另一个字符串还未遇到'\0',则前者小于后者)。

但在有些时候,我们比较字符串的大小时,希望忽略字母的大小,例如"Hello""hello"在忽略字母大小写时是相等的。请写一个程序,实现对两个字符串进行忽略字母大小写的大小比较。

输入格式

输入为两行,每行一个字符串,共两个字符串。(每个字符串长度都小于 8080 且只包含大小写字母)

输出格式

如果第一个字符串比第二个字符串小,输出一个字符"<"

如果第一个字符串比第二个字符串大,输出一个字符">"

如果两个字符串相等,输出一个字符"="

样例输入

Hellohowareyou
helloHowareyou

样例输出

=

(题目来源于计蒜客https://nanti.jisuanke.com/t/T1114


思路

输入字符串后全部将字符串中大写字母转为小写字母后再进行比较。题目需要判断字符串长度,仅仅在字符串长度相同且相同位置的字符相同才能输出“=”,字符串长度不同时比较短字符串最后一位字母和长字符串中相同位置字母的大小。


代码实现

a=input()
a=a.lower()#字符串全部转小写
a=list(a)
b=input()
b=b.lower()#字符串全部转小写
b=list(b)
if len(a)>len(b):
    i=0
    flag=0
    while i<len(b) and flag==0:
        if a[i]==b[i]:
            i+=1
        elif a[i]>b[i]:
            print(">")
            flag=1
        else:
            print("<")
            flag=1
    if flag==0:
        print(">")
if len(a)<len(b):
    i=0
    flag=0
    while i<len(a) and flag==0:
        if a[i]==b[i]:
            i+=1
        elif a[i]>b[i]:
            print(">")
            flag=1
        else:
            print("<")
            flag=1
    if flag==0:
        print("<")
if len(a)==len(b):
    i=0
    flag=0
    while i<len(a) and flag == 0:
        if a[i]==b[i]:
            i+=1
        elif a[i]>b[i]:
            print(">")
            flag=1
        else:
            print("<")
            flag=1
    if flag==0:
        print("=")

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值