如果下一个 if 语句为真,有没有办法让 for 循环不回到上面的代码?


a = 0
b = 0
for x in range (100):
a = a + 1
if a == 10:
b = b + 1
print(a)
print(b)

结果

99
1

我想要什么

10
90

IIUC,这应该可以解决问题:

a = 0
b = 0
for x in range (100):
if a < 10:
a = a + 1
else:
b = b + 1

但为了进一步简化,您可以使用 python 的赋值运算符a += 1语法,它将a的值增加 1:

a = 0
b = 0
for x in range (100):
if a < 10:
a += 1
else:
b += 1

添加条件检查。

a = 0
b = 0
for x in range (100):
if (a % 10 != 0 or a==0):
a = a + 1
else:
b = b + 1
print(a)
print(b)

只是为了好玩:

a, b = 0, 0
for x in range(100):
add = a % 10 != 0 or a == 0
a += add
b += not add

这使用了布尔值是一个整数的事实,尽管我不建议这样做,因为它不太可读

最新更新