请求优化数字竞猜游戏Python代码以提升代码整洁度
数字猜谜游戏代码优化
游戏核心规则
玩家输入的数字需要满足两个条件才能获胜:
- 必须大于电脑随机生成的0-1000范围数字
- 同时不能比电脑数字大50及以上,否则判定失败
优化后的代码
from random import randint def play_single_round(): # 电脑随机生成0-1000之间的目标数字 ai_target = randint(0, 1000) # 计算玩家获胜的数字上限(电脑数字+50) win_max = ai_target + 50 try: # 获取玩家输入并转换为整数 player_input = int(input("请输入0-1000之间的数字:")) # 胜负逻辑判断,用连续比较让代码更直观 if player_input == ai_target: print(f"你和电脑选了同一个数字:{ai_target}") elif ai_target < player_input < win_max: print(f"恭喜你赢了!电脑选的数字是{ai_target}") else: print(f"你输了!电脑选的数字是{ai_target}") except ValueError: print("请输入有效的整数哦!别乱输呀~") # 支持玩家重复游玩 while True: play_single_round() replay_choice = input("要不要再来一局?输入y继续,其他键退出:").lower() if replay_choice != 'y': print("游戏结束啦,下次再来玩!") break
优化细节说明
- 修正低级错误:原代码里的
choise_win拼写错误,改成了语义更清晰的win_max,避免语法报错 - 模块化拆分:把单局游戏逻辑封装成函数,代码结构更整洁,后续要加功能也更容易扩展
- 简化逻辑判断:用
ai_target < player_input < win_max这种连续比较写法,比多个and拼接的条件更易读 - 增加异常处理:捕获玩家输入非数字的情况,避免程序直接崩溃,同时给出友好提示
- 提升交互体验:增加了重复游戏的选项,不用玩家每次重启程序,还补充了输入提示
- 优化可读性:变量名改成更具语义的名称(比如
choice_ai→ai_target),添加必要注释,统一代码缩进
内容的提问来源于stack exchange,提问作者Tupoy
相关产品推荐
相关产品推荐

