为什么这段代码循环超过100?

时间:2016-02-19 10:53:47

标签: python random

我正在使用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

2 个答案:

答案 0 :(得分:4)

根据the documentationrandrange将返回给定范围内的数字。它说 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)。