我希望这个程序在用户输入“退出”时打印“再见,你已经尝试了 {guess_counter} 次”,或者继续迭代 while 循环,直到用户得到计算机随机选择的正确答案。
它在继续猜测数字时有效,但当用户键入“exit”时会给出如下错误代码。
我该如何解决?
如果你想终止这个游戏,请输入 exit 输入 1 到 10 之间的整数:3 太低了!,尝试以上 3 再次输入一个整数:exit
ERROR!
Traceback (most recent call last):
File "<string>", line 81, in <module>
File "<string>", line 78, in run
ValueError: invalid literal for int() with base 10: 'exit'
import random
def run():
guess_counter = 1
correct_answer = random.randint(1,10)
print("type exit if you want to discontue this game")
user_guess = input("Enter a integer between 1 and 10: ")
while user_guess != correct_answer:
if str(user_guess) == "exit":
return f"Good bye, you have tried {guess_counter} times"
if int(user_guess) > correct_answer:
print(f"Too large!, try below {user_guess}")
user_guess = int(input("Enter a integer: "))
elif int(user_guess) < correct_answer:
print(f"Too low!, try above {user_guess}")
user_guess = int(input("Enter a integer again: "))
guess_counter += 1
print(f"You have guessed the number, {correct_answer} correctly in {guess_counter} times")
run()