使用带有while循环的{randint()

时间:2016-01-23 03:26:47

标签: python while-loop

我正在重温LPTHW的这个类教程:

http://learnpythonthehardway.org/book/ex43.html

我正处于'类LaserWeaponArmory(场景)'的中间,并使用while循环进行代码猜测,我试着这样做有点不同:

    code = randint(1,3)
    user_guess = raw_input("> ")        

    while user_guess != code:
        print "BZZZT!"
        print "Try again"
        user_guess = raw_input("> ")

    if user_guess == code:

        print "The door slides open and you grab the bomb"
        return 'the_bridge'
    else:
        print "The lock buzzes again and the Gothons charge in anc kill you"
        return 'death'

然而,这似乎对我来说无休止地循环,我从来没有得到正确答案。

如果我将第一行改为:

code = "%d" % randint(1,3)

它工作正常,但如果我打开Python终端并执行以下操作:

x = randint(1,3)

然后x将返回1到3之间的随机int,这正是我试图让程序做的事情,但它似乎没有像我预期的那样工作。

我很困惑为什么程序中需要“%d”%才能工作。

0 个答案:

没有答案