Python猜数字游戏代码问题排查及功能实现求助
Python猜数字游戏代码修复方案
原代码存在的问题
- 缩进语法错误:函数定义、else分支缩进不符合Python规范,运行直接报错
- 输入无异常捕获:用户输入非数字内容时,
int(input())会直接抛出异常终止程序 - 猜测次数统计逻辑错误:仅猜对时才计数,未统计每一次输入的猜测
- 内层循环判断条件无效:guess被强制转为整数,永远不可能等于空字符串,逻辑冗余
- 成功提示文本不符合要求:要求输出内容为
Congratulations. You guessed the number!,原代码输出内容不一致 - 重玩逻辑未重置状态:再次开始游戏时未清空上一轮的猜测次数
- 输入引导缺失:多处
input()无提示文本,用户不知道需要输入什么内容
修复后可运行代码
import random def main(): again = 'y' while again.lower() == 'y': # 每轮游戏重置状态 number_of_guesses = 0 secret_num = random.randrange(1, 1001) print('===== 猜数字游戏 =====') print('我生成了一个1到1000之间的整数,请用最少的次数猜对哦') while True: # 捕获非数字输入异常 try: guess = int(input('请输入你的猜测值:')) number_of_guesses += 1 except ValueError: print('输入错误,请输入1-1000之间的整数') continue if guess < secret_num: print('你猜的数字太小了,再试试') elif guess > secret_num: print('你猜的数字太大了,再试试') else: print('Congratulations. You guessed the number!') print(f'你总共猜了{number_of_guesses}次') again = input('是否重新游玩?输入y继续,其他按键退出:').strip() break if __name__ == '__main__': main()
内容的提问来源于stack exchange,提问作者abolfazl.pro
相关产品推荐
相关产品推荐

