如何改进这个数字猜谜游戏代码(python)[关闭]

问题描述 投票:0回答:0

我希望这个程序在用户输入“退出”时打印“再见,你已经尝试了 {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()
python python-3.x
© www.soinside.com 2019 - 2024. All rights reserved.