博客
关于我
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 下载的 11 种姿势,一种比一种高级!
查看>>
python读取一个文件夹下所有图片_初学Python-找出文件夹下的所有图片
查看>>
Python 中 3 个不可思议的返回功能
查看>>
python 中 dict 的另一种用法
查看>>
Python 中 PIL 读取图片出现异常旋转的解决方法
查看>>
python读取word表格内容(1)
查看>>
python 中os.path.join 双斜杠的解决办法
查看>>
python 中PIL.Image和OpenCV图像格式相互转换
查看>>
Python 中Semaphore 信号量对象、Event事件、Condition
查看>>
python 中with的使用及样例
查看>>
python读取wav文件并播放[pyaudio/wave]
查看>>
python读取txt文件的行数
查看>>
Python 中内置的最大堆 API
查看>>
Python 中只有一个 True 和一个 False 对象吗?
查看>>
python读取mtcars数据集并实现以下操作_关于数据处理。。,Python交流,技术交流区,鱼C论坛 - Powered by Discuz!...
查看>>
Python 中多线程与多处理之间的区别
查看>>
Python 中如何使用 lambda 函数
查看>>
Python 中如何创建多行字符串?
查看>>
Python 中如何处理异常?
查看>>
Python 中如何实现列表的切片?
查看>>