当前位置: 首页 > news >正文

Python实战小游戏(一):基础计算器 和 猜数字

引言

在Python入门到精通(一)中,我们了解了Python安装,基本数据类型及条件判断和循环的控制流。
现在编写两个小游戏对基本数据类型、条件判断、循环控制语句进行简单应用,巩固基础,加深理解。

文章目录

  • 引言
  • 一、基础计算器
  • 二、猜数字

一、基础计算器

功能:实现两个数字的基本运算(加减乘除)
思路:输入一个数字,输入一个运算符,再输入一个数字,打印结果
异常控制:输入的非数字,则循环输入

解析:
1)异常控制需要循环输入,使用while、continue、break
2)判断是否数字,可考虑type、isinstance、类型转换float()
3)运算符是否在范围内,使用not in

代码如下:

# 定义一个函数defsimple_calculator():print("=== 基础计算器 ===")# 输入第一个数字whileTrue:try:num1=input("请输入一个数字: ")num1=float(num1)# 尝试将输入转换为浮点数break# 成功转换,退出循环exceptValueError:pass#占位,不做任何处理# 输入运算符operation=input("选择操作 (+, -, *, /): ")# 检查:输入的运算符是否正确,不正确则循环输入whileoperationnotin['+','-','*','/']:operation=input("请正确选择操作 (+, -, *, /): ")# 输入第二个数字whileTrue:try:num2=input("请输入一个数字: ")num2=float(num2)# 尝试将输入转换为浮点数break# 成功转换,退出循环exceptValueError:pass# 根据运算符计算结果ifoperation=='+':result=num1+num2elifoperation=='-':result=num1-num2elifoperation=='*':result=num1*num2elifoperation=='/':result=num1/num2ifnum2!=0else"错误: 除数不能为0"else:result="无效操作"# 打印结果print(f"结果:{result}")# 运行计算器simple_calculator()

运行结果如下图:

二、猜数字

功能:实现猜测一个数的基本逻辑
思路:随机生成一个目标数,用户输入一个数,输入数跟目标数对比,给出太大或太小结论,直至猜测正确
异常控制:输入非数时提示并重新输,输入的超范围提示且不计算

解析:
1)未猜中需要循环输入,使用while、continue、break
2)判断是否数字,可考虑type、isinstance、类型转换int()
3)数字是否在范围内使用or and
4)数字猜测情况使用if/elseif/else来判断分支

# 引入random库importrandom# 定义一个函数defguess_number_game():print("=== 猜数字游戏 ===")# 随机获取一个1-100间数字target=random.randint(1,100)# 尝试次数归0attempts=0whileTrue:try:guess=int(input("猜一个1-100之间的数字: "))# 检查:输入的数字是否符合范围,不符合则重新输入ifguess<1orguess>100:print("请输入1-100之间的数字!")continue# 跳出当前循环# 猜题次数+1attempts+=1ifguess<target:print("太小了!")elifguess>target:print("太大了!")else:print(f"🎉 恭喜!你用了{attempts}次猜中了数字{target}")break#跳出整体循环exceptValueError:print("请输入有效数字!")# 运行游戏guess_number_game()

结果如下:

http://www.rkmt.cn/news/120505.html

相关文章:

  • Mootdx:Python金融分析的终极数据解决方案
  • 5步精通TVBoxOSC调试:从问题定位到性能优化的完整指南
  • 如何绘制专业架构图
  • 推荐几款离线白板工具
  • 苹果风格鼠标指针:让你的桌面焕然一新的简单方法
  • 四足机器人技术路线总结教程
  • 终极垂直标签页管理:快速提升Chrome浏览器工作效率的完整指南
  • 42、LINQ查询表达式与.NET集合类型详解
  • PT助手Plus:一款重新定义PT下载体验的智能浏览器插件
  • 互联网大厂薪资曝光!
  • MTK设备Bootrom保护高效绕过实战解析
  • Sonar CNES Report:企业级代码质量报告自动化生成终极解决方案
  • 跨平台直播聚合神器:一站式解决你的追播烦恼 [特殊字符]
  • 实对称阵与二次型
  • vue+springboot基于JavaSSM框架的学生宿舍线上报修缴费管理系统_45ox8355--论文
  • 基于Kotaemon的合同条款智能比对工具
  • 备婚喜糖怎么选?我最后把「旺仔牛奶糖」放进了喜糖袋(真实经验分享) - AIEO
  • 44、C中的迭代器、反射、属性及动态编程
  • 题解:[COCI 2025/2026 #3] 国家 / Drzava
  • vue+springboot基于java的短剧推荐系统设计与实现_c0ql52z2_zl028--论文
  • Kotaemon中的超时控制与请求重试机制详解
  • HarmonyOS 5.0 WiFi连接调试工具
  • Mac百度网盘极速下载神器:一键解锁SVIP全功能
  • Axure RP全系列中文界面快速配置终极手册
  • KlipperScreen触摸屏界面终极实战手册
  • 平板导热仪厂家推荐排行榜:2025最新口碑深度解析
  • Termius安卓SSH客户端终极汉化方案:告别语言障碍的专业远程管理工具
  • 智能网络加速方案:重构路由器性能优化新范式
  • 立式加工中心//钻攻中心/高速加工中心/855加工中心/1160加工中心/卧式加工中心/龙门加工中心/桥式五轴加工中心怎么挑?质量、技术、售后全方位考量指南 - 品牌推荐大师
  • 人工智能与机器学习:赋能行业智能化转型的核心动力 - 实践