从现在开始的两天,我一直在努力学习python,我正在用这个网站上的python项目来挑战我自己:https://www.upgrad.com/blog/python-projects-ideas-topics-beginners/#1_Mad_Libs_Generator。
我现在在第二场比赛(猜数游戏)。
指示如下:
“”制作一个程序,在这个程序中,计算机随机选择一个介于1到10、1到100之间的数字。然后给用户一个猜测数字的提示。每次用户猜错了,他就会得到另一条线索,他的分数就会降低。线索可以是倍数、可除的、更大的或更小的,也可以是所有的组合。您还需要一些函数来比较输入的数字和猜测的数字,计算两者之间的差异,并检查在这个python项目中是否输入了一个实际的数字。
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!")输出如下所示:
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!我的问题是这条线标记得很强。实际上,在用户输入第三次尝试而没有猜出正确的答案之后,我不想用“您的猜测太.”这一行。将被展示。但是,在用户尝试结束之前,我确实希望显示它。
您对如何调整代码有任何提示吗?
另外,我确实理解了“尝试”和“除了”的概念,但我不知道在哪里添加它才能使游戏在输入错误时更加“流畅”。
亲切的问候
发布于 2020-12-06 20:25:37
根据当前的代码结构,通过在guess和number比较中添加额外的检查,可以避免在最后一次猜测中打印提示。
关于异常处理,程序的崩溃点涉及用户输入和数字之间的比较。在用户输入的整数转换周围添加异常处理似乎是合适的。在增量guess_count和continue以允许另一个用户输入之前,这样做将允许游戏运行3个有效的输入。
用于引用异常的_变量是一个“一次性”变量--这只是一个常规的名称。然而,在解释的会话中,_将存储先前执行的语句的返回值。
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!")https://stackoverflow.com/questions/65172414
复制相似问题