gpt4 book ai didi

python - 如何在 python 中正确退出程序

转载 作者:太空狗 更新时间:2023-10-29 20:48:03 24 4
gpt4 key购买 nike

我是一名中学生,我开始学习用python编程。我一直在看视频教程,但我似乎无法弄清楚如何在键入 q 时让游戏退出。这是我所拥有的..

print('How old do you thing Fred the Chicken is?')
number = 17

Quit = q
run = 17
while run:

guess = int(input('Enter What You Think His Age Is....'))

print('How old do you thing Fred the Chicken is?')
number = 17

Quit = 'q'
run = 17
while run:

guess = int(input('Enter What You Think His Age Is....'))

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....')

print('Game Over')
print('Press Q to Quit')

if run == False:
choice = input('Press Q to Quit')
if choice == 'q'
import sys
exit(0)

最佳答案

获取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结束你的while look。如果你在一个函数中,或者只是 return

此外,我不建议将仅存储用户输入的变量命名为“Quit”,因为它最终会造成混淆。

请记住,缩进在 Python 中很重要,因此需要:

if run == False:
choice = input('Press Q to Quit')
if choice == "Q":
# break or return or..
import sys
sys.exit(0)

虽然这可能只是复制/粘贴错误。

缩进和语法

我修复了缩进并删除了一些无关的代码(因为你复制了外循环和一些打印语句)并得到了这个:

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 ,它采用两个真值(TrueFalse)并返回 True 如果它们中的任何一个为 True(它使用 TrueFalse 之外的值实际上做的比这更多,如果您感兴趣,请参阅文档)。

    例子:

    >> True or True
    True
    >>> True or False
    True
    >>> False or True
    True
    >>> False or False
    False

    所以我们可以用 if choice == "Q"or choice == "q": 请求 Q 或 q。

    另一种选择是将字符串转换为小写并仅检查 q,使用 if choice.lower() == "q":。如果 choice 是 Q,它会先将其转换为 q(使用 .lower()),然后进行比较。

  • 你的数字永远是 17。Python 有一个函数叫做 random.randint()这会给你一个随机数,这可能会让游戏更有趣。例如,这将使鸡的年龄在 5 到 20 岁之间(含):

    number = random.randint(5, 20)

关于python - 如何在 python 中正确退出程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13022385/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com