所以我刚开始使用python,我收到了以下任务;
我需要创建一个迷你游戏在游戏中选择一个从0到10的随机数字。现在我得到了大部分代码,但似乎在实现Quit选项时总是遇到问题。
所以重点是玩家可以在任何时候给出Quit作为答案,然后游戏就退出了。似乎我不能以正确的方式给Quit赋值。
当输入退出命令(nee)时,我一直收到以下错误信息;
**Traceback (most recent call last):
File "C:\Users\aarabsa\PycharmProjects\projecten1\Lotto1.2.py", line 22, in <module>
guess = int(input('Probeer opnieuw of typ nee om het spel te verlaten: '))
ValueError: invalid literal for int() with base 10: 'nee'**你们谁能给点建议吗?
import random
import sys
print("Hello, wat is uw naam?")
naam = input()
print("Kan je de juiste cijfer raden tussen 0 en 10?")
answer = random.randint(0, 10)
guess = int(input('geef uw gekozen nummer: '))
TotalGuesses = 0
while guess != answer:
TotalGuesses += 1
if guess < answer:
print('fout antwoord!')
guess = int(input('Probeer opnieuw of typ nee om het spel te verlaten: '))
if guess in ['nee']:
print('Jammer dat je nu al opgeeft ' + naam + ', tot de volgende keer!')
sys.exit()
elif guess > answer:
print('fout antwoord!')
guess = int(input('Probeer opnieuw of typ nee om het spel te verlaten: '))
if guess in ['nee']:
print('Jammer dat je nu al opgeeft ' + naam + ', tot de volgende keer!')
sys.exit()
if guess == answer:
break
if guess == answer:
print('Correct ' + naam + '! Je hebt ' + str(TotalGuesses) + 'foutief geraden voordat je de juiste antwoord kon vinden!')发布于 2020-11-20 07:29:49
只有当您首先确保用户没有输入该字符串时,才应该将其转换为int。例如:
guess = None # So it's defined
guess_string = input('geef uw gekozen nummer: ')
if guess_string.lower() == 'nee':
... # tell the user goodbye, or whatever
sys.exit()
else:
guess = int(guess_string)此外,在转换输入并将其分配给guess之前,您可以检查其输入是否为有效数字。Here是对如何做到这一点的解释。
由于您在程序中多次获得用户输入,因此您可以将所有这些都封装在一个函数中并直接调用它,这样您的代码中就不会有重复。
https://stackoverflow.com/questions/64921544
复制相似问题