Victor0321 发表于 2022-4-1 15:47:38

28讲小作业

想请教下各位大神 这个比较版本号的小作业,关于else 的位置的用法 ,我不太明白。。。

就是else在for 并列的话:是指的是循环里的比较 if v1__ != v2__: 都不成立 才会输出v1 = v2 么?

因为如果else跟if v1__ != v2__: 并列的话 这个时候会输出很多个===,因为这个是1.1.1.1.1 和1.1.1.1.1 就会输出5个。

‘''''
v1 = input('请输入第一个版本号,v1 = ')
v2 = input('请输入第二个版本号,v2 = ')

v1_ = v1.split('.')
v2_ = v2.split('.')

v1__=''.join(v1_).ljust(5,'0')
v2__=''.join(v2_).ljust(5,'0') #转换成字符串

for i in range(5):
    if v1__ != v2__:
      if int(v1__) >int(v2__):
            print('v1')
            break
      else:
            print('v2')
            break
else:
    print ('v1=v2')

isdkz 发表于 2022-4-1 15:51:40

for ... else ... 里面的 else 在 循环体结束后,break 后 else 语句块不会被执行

代码小白liu 发表于 2022-4-1 16:08:40

本帖最后由 代码小白liu 于 2022-4-1 16:09 编辑

是你说的那样,最后一个else和if 并列的话,是在for循环的里边,你的for循环要循环五次,等于当然也要输入五次
页: [1]
查看完整版本: 28讲小作业