使用while循环猜测游戏程序,用户输入一个数字,计算机告诉他们是否正确,或猜测更高或更低

时间:2015-11-16 03:09:43

标签: python-2.7 while-loop

我的程序会继续告诉用户猜测较低,即使用户键入正确的数字。我该如何解决这个问题?

import random 
a=raw_input('enter a number')
b= random.randrange(0,11)
while a!=b:
    if a < b:
        print ('you are not correct, try a higher number')
    if a > b:
        print('you are not correct,  try a lower number')
    if a== b:
        print('wwcd')
    print b

1 个答案:

答案 0 :(得分:1)

目前的问题是a永远不会更新&amp;你使用'a'字符而不是a变量

while `a`!=b: 

将常数字符与数字b进行比较(并且总是更大)。它应该是:

while a!=b:   

此更改应适用于您的所有条件语句(也可能最好删除重复的if 'a'== b块,因为只需要一个)

对于下一部分,您需要更新a作为循环的一部分(以便用户可以更改输入)。您只需要向下指定a值的部分移动:

while a!=b:    
    a=raw_input('enter a number')
    //rest of your conditionals statements

编辑:

你有第3个问题。 raw_input()函数返回string,您需要int进行比较。要修复它,只需将其强制转换为int:int(raw_input('Enter a number')),或者更恰当地使用Python 2.x的input()函数。这将评估您输入的任何内容,因此当您输入数字时将返回int。但请注意,Python 3.x input()在2.x中的行为与raw_input()相似,raw_input()已消失。