def gukan(count):
while count!=100:
print(count)
count=count+1;
gukan(0)
我的问题是:当我尝试在count=count+1
中增加3或9而不是1时,我会得到一个无限循环 - 为什么会这样?
答案 0 :(得分:15)
这里的答案已经指出,因为在递增计数之后它并不等于完全 100,然后它会继续进行,因为标准不会被满足(它的符号)您可能希望<
说小于 100)。
我只是补充一点,你应该真正关注Python的内置range
函数,该函数从起始值到生成一系列整数(但不包括)另一个值,以及一个可选的步骤 - 所以你可以从一次添加1或3或9进行调整......
0-100(但不包括100,默认值从0开始,步进1):
for number in range(100):
print(number)
0-100(但不包括并确保数字不超过100),步骤为3:
for number in range(0, 100, 3):
print(number)
答案 1 :(得分:11)
当您将count = count + 1
更改为count = count + 3
或count = count + 9
时,count
永远不会等于100.最好是99.这还不够。
你在这里得到的是无限循环的经典案例:count
永远不会等于到100(当然,在某些时候它会大于100,但你的while
循环不会检查此情况)并且while
循环会一直亮着。
你想要的可能是:
while count < 100: # Or <=, if you feel like printing a hundred.
不
while count != 0: # Spaces around !=. Makes Guido van Rossum happy.
现在循环将在count >= 100
时终止。
看看Python documentation。
答案 2 :(得分:1)
你的计数永远不会等于100,所以你的循环将继续,直到这是真的
用
替换你的while子句def gukan(count):
while count < 100:
print(count)
count=count+3;
gukan(0)
这将解决您的问题,程序正在根据您给出的条件正确执行。
答案 3 :(得分:1)
因为如果您使用
更改代码def gukan(count):
while count!=100:
print(count)
count=count+3;
gukan(0)
计数达到99,然后在下一次迭代102。
所以
count != 100
永远不会评估为真,循环会永远持续
如果您想数到100,可以使用
def gukan(count):
while count <= 100:
print(count)
count=count+3;
gukan(0)
或(如果你想要100总是打印)
def gukan(count):
while count <= 100:
print(count)
count=count+3;
if count > 100:
count = 100
gukan(0)
答案 4 :(得分:1)
考虑以下事项:
def gukan(count):
while count < 100:
print(count)
count=count+3;
gukan(0) #prints ..., 93, 96, 99
def gukan(count):
while count < 100:
print(count)
count=count+9;
gukan(0) # prints ..., 81, 90, 99
你应该使用count < 100
,因为如果使用3或9作为增量,count
将永远不会达到确切的数字100,从而产生无限循环。
答案 5 :(得分:1)
第一行定义变量。第二行将其循环为100,第三行将1加1,第4行将a除以3,如果没有余数(0)则将打印该数字,否则将打印一个空行。
a = (0)
for i in range(0,100):
a = a + 1
if a % 3 == 0:
print(a)
else:
print("")
答案 6 :(得分:0)
当你使用count = count + 3或count = count + 9而不是count = count + 1时,count的值永远不会是100,因此它会进入无限循环。
您可以使用以下代码来使用您的条件
while count&lt; 100:
现在,当count> = 100时,循环将终止。
答案 7 :(得分:0)
x = 1 而x <= 100时: 打印(x) x = x + 3
答案 8 :(得分:0)
我猜想它会造成无限循环,因为您跳过数字100。如果将critera设置为小于101,则应该达到目的:)
def gukan(count):
while count<100:
print(count)
count=count+3;
gukan(0)
答案 9 :(得分:-1)
因为条件永远不会成立。
当count = count + 3或count = count + 9时,count!= 100永远不会执行。
试试这个.. while count<100