首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在python中将退出函数应用于小游戏

在python中将退出函数应用于小游戏
EN

Stack Overflow用户
提问于 2020-11-20 07:25:37
回答 1查看 21关注 0票数 0

所以我刚开始使用python,我收到了以下任务;

我需要创建一个迷你游戏在游戏中选择一个从0到10的随机数字。现在我得到了大部分代码,但似乎在实现Quit选项时总是遇到问题。

所以重点是玩家可以在任何时候给出Quit作为答案,然后游戏就退出了。似乎我不能以正确的方式给Quit赋值。

当输入退出命令(nee)时,我一直收到以下错误信息;

代码语言:javascript
复制
**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'**

你们谁能给点建议吗?

代码语言:javascript
复制
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!')
EN

回答 1

Stack Overflow用户

发布于 2020-11-20 07:29:49

只有当您首先确保用户没有输入该字符串时,才应该将其转换为int。例如:

代码语言:javascript
复制
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是对如何做到这一点的解释。

由于您在程序中多次获得用户输入,因此您可以将所有这些都封装在一个函数中并直接调用它,这样您的代码中就不会有重复。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64921544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档