【发布时间】:2020-08-08 18:55:46
【问题描述】:
我希望在这个 If 语句中,变量 'i' 会递增,直到它最终等于 10,随后 'if 10
i=0
while True:
if i < 10:
i = i + 1
print(i)
【问题讨论】:
标签: python if-statement printing while-loop break
我希望在这个 If 语句中,变量 'i' 会递增,直到它最终等于 10,随后 'if 10
i=0
while True:
if i < 10:
i = i + 1
print(i)
【问题讨论】:
标签: python if-statement printing while-loop break
我认为您需要在这里了解一些事情,因为您设置了while True,这意味着语句永远不会得到false,因此即使if condition 失败,while loop 也永远不会结束。所以while loop 将继续运行直到你中断。
您可以在不中断的情况下实现此目的的唯一方法是这样,您有一个变量,当if loop 失败时,该变量会将while loop 的条件重置为false
i=0
condition = True
while condition:
if i<10:
i=i+1
print(i)
else:
condition=False
【讨论】:
while X 在X 等于True 时重复,所以在while True 中总是True。它只与break 语句中断。
在您的代码中,您只需检查 while 循环内的值,如果这样,您既不会中断 while 循环,也不会将 while True 中的 True 更改为 False。
如果你想使用while:
i = 0
while i < 10:
i += 1
print(i)
或者
i = 0
while True:
if i < 10:
i += 1
print(i)
else:
break
没有while:
for i in range(10):
print(i)
【讨论】:
如果你想使用 while True 那么你可以选择:
i=0
while True:
i = i + 1
print(i)
if i == 10:
break
【讨论】:
while True
将使循环永远运行,因为“真”总是评估为真。您可以通过 break 退出循环。
为了实现你想要做的,我会使用
while i < 10:
print (i)
i++
【讨论】:
while True: False ...打破了 while 循环
那是因为没有任何东西告诉你终止循环。所以即使在 if 语句不满足之后它也会继续。
这就是为什么使用while True 通常不是一个好习惯的原因
当循环中内置了 break 条件时,您可以使用 for 循环实现相同的目的:
for i in range(0, 10):
print(i)
【讨论】: