首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于一个自制的猜数游戏的问题

关于一个自制的猜数游戏的问题
EN

Stack Overflow用户
提问于 2020-12-06 19:52:01
回答 1查看 549关注 0票数 0

从现在开始的两天,我一直在努力学习python,我正在用这个网站上的python项目来挑战我自己:https://www.upgrad.com/blog/python-projects-ideas-topics-beginners/#1_Mad_Libs_Generator

我现在在第二场比赛(猜数游戏)。

指示如下:

“”制作一个程序,在这个程序中,计算机随机选择一个介于1到10、1到100之间的数字。然后给用户一个猜测数字的提示。每次用户猜错了,他就会得到另一条线索,他的分数就会降低。线索可以是倍数、可除的、更大的或更小的,也可以是所有的组合。您还需要一些函数来比较输入的数字和猜测的数字,计算两者之间的差异,并检查在这个python项目中是否输入了一个实际的数字。

代码语言:javascript
复制
import random

print("Welcome to the number game. A random number will be generated and you can guess which one it is.")
print("You got three tries.")

number = random.randint(1, 99)
guess = ""  # var to store users guess
guess_count = 0
guess_limit = 3
out_of_guesses = False

while guess != number and not out_of_guesses:
    if guess_count < guess_limit:
        guess = int(input("Enter a guess: "))
        guess_count += 1
        if guess < number:
            print("Your guess is too small. Try again.")
        elif guess > number:
            print("Your guess is too high. Try again.")
    else:
        out_of_guesses = True

if out_of_guesses:
    print("You are out of guesses. You loose!")
else:
    print("Your guess is correct. You Won!")

输出如下所示:

代码语言:javascript
复制
Welcome to the number game. A random number will be generated and you can guess which one it is.
You got three tries.
Enter a guess: 78
Your guess is too high. Try again.
Enter a guess: 28
Your guess is too small. Try again.
Enter a guess: 29
**Your guess is too small. Try again.**
You are out of guesses. You loose!

我的问题是这条线标记得很强。实际上,在用户输入第三次尝试而没有猜出正确的答案之后,我不想用“您的猜测太.”这一行。将被展示。但是,在用户尝试结束之前,我确实希望显示它。

您对如何调整代码有任何提示吗?

另外,我确实理解了“尝试”和“除了”的概念,但我不知道在哪里添加它才能使游戏在输入错误时更加“流畅”。

亲切的问候

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-06 20:25:37

根据当前的代码结构,通过在guessnumber比较中添加额外的检查,可以避免在最后一次猜测中打印提示。

关于异常处理,程序的崩溃点涉及用户输入和数字之间的比较。在用户输入的整数转换周围添加异常处理似乎是合适的。在增量guess_countcontinue以允许另一个用户输入之前,这样做将允许游戏运行3个有效的输入。

用于引用异常的_变量是一个“一次性”变量--这只是一个常规的名称。然而,在解释的会话中,_将存储先前执行的语句的返回值。

代码语言:javascript
复制
import random

print("Welcome to the number game. A random number will be generated and you can guess which one it is.")
print("You got three tries.")

number = random.randint(1, 99)
guess = ""  # var to store users guess
guess_count = 0
guess_limit = 3
out_of_guesses = False

while guess != number and not out_of_guesses:
    if guess_count < guess_limit:
        try:
            guess = int(input("Enter a guess: "))
        except ValueError as _:
            print('Wrong input type')
            continue
        guess_count += 1
        if guess < number and guess_count != guess_limit:
            print("Your guess is too small. Try again.")
        elif guess > number and guess_count != guess_limit:
            print("Your guess is too high. Try again.")
    else:
        out_of_guesses = True

if out_of_guesses:
    print("You are out of guesses. You lose!")
else:
    print("Your guess is correct. You Won!")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65172414

复制
相关文章

相似问题

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