2021-05-11

内容:
从扑克中每次取出4张牌。使用加减乘除,第一个能得出24者为赢。(其中,J代表11,Q代表12,K代表13,A代表1),按照要求编程解决24点游戏。

步骤:
1.算法分析
基本要求:
24点游戏,一共使用52张牌,4种花色,因此使用13张不同数字和字母的扑克即可。
(1)抽牌阶段:将13张牌打乱,从13张随机可重复抽取4张牌,即可模拟从52张牌中不可重复抽4张牌,完成抽牌阶段。
(2)计算阶段:对4个数和计算要用的运算符进行排列组合,在适当的位置加上括号进行计算,判断计算结果是否为24,将结果为24的表达式输出即可。
提高要求:
(1)抽牌阶段:将13张牌打乱,从13张随机可重复抽取4张牌,即可模拟从52张牌中不可重复抽4张牌,完成抽牌阶段。
(2)输入阶段:在输入提示后开始计时,若计时结束尚未作答则生命值-1,重新进行游戏,在规定时间内输入正确表达式
(3)计算阶段:将输入的表达式进行计算,并进行正确性验证,若等于24,则分数+1,继续进行游戏,若不等于24,则生命值-1,继续游戏
(4)若生命值为0,则游戏结束,将用户命和分数保存至指定的txt文件中

2.概要设计

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

3.调试
出现错误:在计算字符串表达式值。出现了除数为0的情况,如下:

解决方案:对计算字符串表达式值得式子进行异常捕获,将出现的异常忽略,保证程序正常运行,具体如下:出现错误:在计算字符串表达式值。出现了除数为0的情况,如下:

4.心得体会
通过本次编程,了解了更多python中功能强大的库,更好的解决了本次程序中的问题。同时也体会到了程序结构对程序功能的影响。也对程序的多线程有了一定的了解,在对数字进行排列组合的时候,不能通过多重循环得到所有所需结果,通过查询资料了解到了itertools库可直接对结果进行各种想要的排列组合形式。在解决问题的过程中,python提供了很多功能强大的库解决实际问题,还需要对常用的库进行更多了解。认识到了自身存在的一些不足,在程序设计的结构上存在一些缺陷,使得程序的修改变得很困难,在以后的程序设计上应该对结构进行优化。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值