我正在使用Youtube视频在PYTHON中运行此代码;它应该停止在100循环,但它超过了。有人知道错误可能在哪里吗?
import random
sarge_is_awake = True
count = 0
while sarge_is_awake:
print "Down!"
print "Up!"
count = count + 1
print str(count) + " done"
if random.randrange (0, 100) == 0:
sarge_is_awake = False
答案 0 :(得分:4)
根据the documentation,randrange
将返回给定范围内的数字。它说 nothing 关于不返回相同的数字两次,所以你的代码会一直循环,直到它随机返回0
,这可能需要一个循环,或100,或200,或。 ..
如果你想在100次循环后停止,你需要引入一个计数器。
答案 1 :(得分:1)
如果你想让这个循环在0到100的范围内随机抽取一次,你需要像
这样的东西import random
count = 0
desired_count = random.randrange (0, 100)
print "desired count=" + str(desired_count)
while count < desired_count:
print "Down!"
print "Up!"
count = count + 1
print str(count) + " done"
请注意,如果选择的随机数为零,则可能无法打印。如果你总是希望它至少经过一次循环,你可能想要将范围改为(1,100)。