博客
关于我
python 实现儿童算术游戏
阅读量:795 次
发布时间:2023-03-07

本文共 1345 字,大约阅读时间需要 4 分钟。

随机选择数字以及一个算术函数, 显示问题, 以及验证结果. 在 3 次错误的尝试以后给出结果,等到用户输入一个正确的答案后便会继续运行.


operatorrandom 模块中导入我们会用到的函数。定义全局变量 ops,一个包含了运算符和与其相关联的函数的集合(字典)。定义全局变量 maxtaries,表示用户有多少次机会尝试给出答案的整型变量。

定义核心程序 doprob()。在程序开始时随机选择一个操作(op 选自 '+''-'),并生成两个随机操作数(nums 选自 [1, 10])。将这两个操作数按大到小排序,以避免减法问题中的负数问题。

定义变量 ans 为运算结果,调用一个数学函数计算出正确的解。定义变量 pr 用于生成提示用户计算的等式。定义变量 oops 用于计数用户尝试次数。

通过循环方式让用户尝试输入答案。在用户输入答案时,判断是否正确。如果正确则输出“correct”,并继续运行程序。如果错误则输出“incorrect... try again”并计数尝试次数。当用户尝试次数达到最大值或用户输入 nN 时退出循环。


ops = {    '+': add,    '-': sub}

定义全局变量 maxtaries 为 3,表示用户有3次机会尝试给出答案。


定义核心程序 doprob()。在程序开始时随机选择一个操作(op 选自 '+''-'),并生成两个随机操作数(nums 选自 [1, 10])。将这两个操作数按大到小排序,以避免减法问题中的负数问题。

定义变量 ans 为运算结果,调用一个数学函数计算出正确的解。定义变量 pr 用于生成提示用户计算的等式。定义变量 oops 用于计数用户尝试次数。

通过循环方式让用户尝试输入答案。在用户输入答案时,判断是否正确。如果正确则输出“correct”,并继续运行程序。如果错误则输出“incorrect... try again”并计数尝试次数。当用户尝试次数达到最大值或用户输入 nN 时退出循环。


def doprob():    global op, nums    op = choice(('+', '-'))    nums = [randint(1, 10) for _ in range(2)]    nums.sort(reverse=True)    ans = ops[op](nums)    pr = f"{'%d %s %d = ' %s}" % (nums[0], op, nums[1], ans)

定义变量 oops 用于计数用户尝试次数。通过 while True 循环让用户尝试输入答案。在用户输入答案时,通过 try 语句捕捉用户的输入错误(如 KeyboardInterruptEOFError 等)。


while True:    try:        opt = raw_input('Again?[y]')    except:        break    if __name__ == '__main__':        break

如果用户输入 nN 退出用户循环。输出提示信息并重新运行程序。

转载地址:http://isofk.baihongyu.com/

你可能感兴趣的文章
Python UI自动化测试数据驱动实战
查看>>
Python UI自动化测试集成UnitTest
查看>>
Python UI自动化测试集成UnitTest
查看>>
python unicode-escape
查看>>
Python unittest mock:是否可以在测试时模拟方法默认参数的值?
查看>>
Python unittest单元测试框架 TestSuite测试套件
查看>>
PYTHON调离线语音合成并实时播放
查看>>
python unittest高级特性!
查看>>
Python unittest:如何将标准输出消息临时重定向到缓冲区并测试其内容?
查看>>
Python urllib/Requests下载文件失败,但浏览器下载失败
查看>>
Python urllib2 文件上传问题
查看>>
Python urllib2.open 连接由对等错误重置
查看>>
python urllib2详解及实例
查看>>
Python url请求提示certificate verify failed unable to get local issuer certificate
查看>>
Python UTC 日期时间对象的 ISO 格式不包括 Z(祖鲁语或零偏移)
查看>>
python valueerror object2_python遇到错误记录
查看>>
python vars的作用
查看>>
Python vcrpy库:HTTP请求记录和重放
查看>>
Python virtualenv
查看>>
python vue3实现大文件分段续传(断点续传)--带暂停和继续功能
查看>>