如果version1 > version2 返回1,如果 version1 < version2 返回-1,不然返回0.
输入的version字符串非空,只包含数字和字符.。.字符不代表通常意义上的小数点,只是用来区分数字序列。例如字符串2.5并不代表二点五,只是代表版本是第一级版本号是2,第二级版本号是5.
如果version1 > version2 返回1,如果 version1 < version2 返回-1,不然返回0.
输入的version字符串非空,只包含数字和字符.。.字符不代表通常意义上的小数点,只是用来区分数字序列。例如字符串2.5并不代表二点五,只是代表版本是第一级版本号是2,第二级版本号是5.
两个字符串,用空格分割。
每个字符串为一个version字符串,非空,只包含数字和字符.
只能输出1, -1,或0
0.1 1.1
-1
version1和version2的长度不超过1000,由小数点'.'分隔的每个数字不超过256。
def main():
a = list(input().split(" "))
b, c = [list(map(int,it.split("."))) for it in a]
l = abs(len(b) - len(c))
if l and len(b) > len(c):
c += [0] * l
if l and len(b) < len(c):
b += [0] * l
for c1, c2 in zip(b, c):
if c1 > c2:
print(1)
return
elif c1 < c2:
print(-1)
return
print(0)
if __name__ == "__main__":
main() x,y = map(lambda x:list(map(int, x.split('.'))), input().split())
if x > y: print(1)
elif x < y: print(-1)
else: print(0) # Python3 代码---完全通过版
def judgeTwoVersion(str0):
a, b = str0[0], str0[1]
# 将字符串转存为两个列表
list_a, list_b = a.split('.'), b.split('.')
# 求最小的长度,考虑到两个字符串可能出现长度不等的情况
mylen = min(len(list_a), len(list_b))
# 等长度判断
for i in range(mylen):
if int(list_a[i]) < int(list_b[i]):
print('-1')
break
elif int(list_a[i]) > int(list_b[i]):
print('1')
break
elif int(list_a[i]) == int(list_b[i]):
continue
# 非等长度判断
if i == mylen - 1 and list_a[mylen - 1] == list_b[mylen - 1]:
if len(list_a) > len(list_b):
print('1')
elif len(list_a) < len(list_b):
print('-1')
elif len(list_a) == len(list_b):
print('0')
# 主函数
if __name__ == '__main__':
str0 = [i for i in input().split()] # 输入字符串
judgeTwoVersion(str0) # 输出判断结果
需要注意的2个问题: