|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
v1 = '0.1'
v2 = '0.0.99'
i,j = 0,0
while i < 3 or j < 6:
x = 0
while i < 3 and v1[i] != '.':
x = x * 10 + int(v1[i])
i += 1
i += 1
y = 0
while j < 6 and v2[j] != '.':
y = y * 10 + int(v2[j])
j += 1
j += 1
if x > y:
print("v1")
break
elif x < y:
print("v2")
break
为什么最后输出v1呢?y为什么是0?不是99呢?
你这break一执行这个循环就跳出来了,把break注释就是v2 和 99了
你可以手动的设置调试掉来输出那些变量,就像这样
- v1 = '0.1'
- v2 = '0.0.99'
- i, j = 0, 0
- count_ = 1
- while i < 3 or j < 6:
- print(f"第{count_}轮")
- x = 0
- while i < 3 and v1[i] != '.':
- print("x", x, v1[i]) # 调试
- x = x * 10 + int(v1[i])
- i += 1
- i += 1
- y = 0
- while j < 6 and v2[j] != '.':
- print("y", y, v2[j]) # 调试
- y = y * 10 + int(v2[j])
- j += 1
- j += 1
- count_ += 1
- if x > y:
- print("v1")
- # break
- elif x < y:
- print("v2")
- # break
复制代码第1轮
x 0 0
y 0 0
第2轮
x 0 1
y 0 0
v1
第3轮
y 0 9
y 9 9
99
v2
|
|