一、题目
- 两个字符串a、b可以比较大小,比较规则是按各个对应字符的Unicode(Unicode)编码,编码大的一个为大。
- 比较a[0]与b[0],如果a[0]>b[0]则a>b,如果a[0]<b[0]则a<b,如果a[0]=b[0]则继续比较a[1]与b[1]。
- 比较 a[1]与 b[1]、如果 a[1]>b[1]则 a>b,如果a[1]<b[1]则a<b,如果a[1]=b[1]则继续比较a[2]与b[2]。
- 这个过程一直进行下去,直到比较出大小,如果比较完毕两个字符串的每个字符都一样,那么如果两个字符串一样长|en(a)=len(b),那么a=b;如果 len (a)>len(b)则 a>b: 如果 len(a)<len(b)则 a<b
- 写一个比较数比较(a,b)比较a,b比较小,如果a>b返回1,如果a<b 返回-1,如果a=b 返回函数0,那么比较就是这样的工作的:
二、基础知识
其实我们只要了解好for和数组就没有问题了
数组:从0开始
长度:从1开始
def compare(a,b):
# 统计m、n的长度
m = len(a)
n = len(b)
if m<n:
k=m
else: # m=n或m>n
k=n
# 先比较值的大小
for i in range(k): # 判断数组值,实际0到k-1,但是数组从0开始,所以包括全部;k=5,i=0-4
if a[i]>b[i]:
return 1
elif a[i]<b[i]:
return -1
# 如果两个数组的值大小都相等,则判断谁的长度长
if m==n: # 数组长度
return 0
elif m>n:
return 1
else:
return -1
a = ["2", "3", "5", "a", "2","2"]
b = ["2", "3", "5", 'a', "2"]
t = compare(a,b)
print(t)