获得Q作为输入
Quit = int(input('Press Q to Quit')
你要求Q作为输入,但只接受一个int.所以脱掉int部分:
Quit = input('Press Q to Quit')
现在Quit将是用户输入的内容,所以让我们检查“Q”而不是True:
if Quit == "Q":
而不是sys.exit(0),你可以用break结束你的同时看,或者如果你在函数中就返回.
此外,我不建议将名称“Quit”用于仅存储用户输入的变量,因为它最终会让人感到困惑.
请记住缩进在Python中很重要,因此需要:
if run == False:
choice = input('Press Q to Quit')
if choice == "Q":
# break or return or..
import sys
sys.exit(0)
这可能只是一个复制/粘贴错误.
缩进和语法
我修复了缩进并删除了一些无关的代码(因为你复制了外部循环和一些print语句)并得到了这个:
print('How old do you thing Fred the Chicken is?')
number = 17
run = True
while run:
guess = int(input('Enter What You Think His Age Is....t'))
if guess == number:
print('Yes :D That is his age...')
run = False
elif guess < number:
print('No, Guess a little higher...')
elif guess > number:
print('No, Guess a little lower....')
if run == False:
print('Game Over')
choice = input('Press Q to Quit')
if choice == 'q'
break
这给了我一个语法错误:
blong@ubuntu:~$python3 chicken.py
File “chicken.py”, line 23
if choice == "q’
^
SyntaxError: invalid syntax
所以Python说if语句后出现了问题.如果您查看其他if语句,您会注意到这个语句缺少:最后,所以将其更改为:
if choice == 'q':
因此,通过该更改,程序可以运行,并且似乎可以执行您想要的操作.
一些建议
>你的指示说“按Q退出”,但你实际上只接受“q”退出.你可能想要同时接受这两个. Python有一个operator called or,它接受两个真值(True或False)并且如果它们中的任何一个是True,则返回True(除了True和False之外,它实际上比这更多,如果你感兴趣,请参阅文档).
例子:
>> True or True
True
>>> True or False
True
>>> False or True
True
>>> False or False
False
因此,如果选择==“Q”或选择==“q”,我们可以要求Q或q:
另一种选择是将字符串转换为小写,只检查q,使用if choice.lower()==“q”:如果选择是Q,它首先将其转换为q(使用.lower()),然后进行比较.
>你的号码总是17.Python有一个名为random.randint()的功能,可以给你一个随机数,这可能会让游戏更有趣.例如,这会使鸡的年龄在5到20之间(含):
number = random.randint(5, 20)