python 实现儿童算术游戏

简介:

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# -*- coding: UTF-8 -*-
from  operator  import  add, sub                  #从 operator 和 random 模块中,导入我们会用到的函数       
from  random  import  randint, choice
 
ops  =  { '+' : add,  '-' : sub}                     #定义全局变量 一个包含了运算符和与其相关联的函数的集合(字典)
maxtaries  =  3                                  #定义全局变量 用户有多少次机会尝试给出答案的整型变量
 
def  doprob():                                     #定义此程序的核心程序
     op  =  choice( '+-' )                             #随机选择一个操作
     nums  =  [randint( 1 10 for  in  range ( 2 )]     #随机生成两个操作数
     nums.sort(reverse = True )                       #为了避免减法问题中的负数问题,将这两个操作数按大到下进行排序
     ans  =  ops[op]( * nums)                          #调用一个数学函数计算出正确的解
     pr  =  '%d %s %d ='  %  (nums[ 0 ], op, nums[ 1 ])    #生成 提示用户计算的等式
     oops  =  1                                      #定义 用户尝试机会的计数器
     while  True :
         try :
             if  int ( raw_input (pr))  = =  ans:         #判断 用户输入的答案和 正确答案比较
                 print  'correct'                   #输出提示信息
                 break                             #退出循环
             if  oops  = =  maxtaries:                 #当用户尝试次数等于用户最大尝试次数时
                 print  'answer\n%s%d' % (pr,ans)     #将等式和 正确的答案输出
                 break 
             else :                                 #在其他情况下
                 print  'incorrect... try again'    #输出提示信息
                 oops  + =  1                         #用户尝试机会的计数器加一
         except (KeyboardInterrupt, EOFError, ValueError):         #捕捉用户的错误输出
             print  'invalid input... try again'    #输出提示信息
 
 
def  main():
     while  True :
         doprob()                                #调用核心函数
         try :
             opt  =  raw_input ( 'Again?[y]' ).lower()     #读取用户输入的参数 如果是大写字母时变为小写
             if  opt  and  opt[ 0 = =  'n' :                #当用户输入n 或 N 退出用户循环
                 break
         except (KeyboardInterrupt, EOFError):
             break
 
 
if  __name__  = =  '__main__' :
     main()









本文转自 Xuenqlve 51CTO博客,原文链接:http://blog.51cto.com/13558754/2062597,如需转载请自行联系原作者
目录
相关文章
|
8月前
|
存储 人工智能 运维
【01】做一个精美的打飞机小游戏,浅尝阿里云通义灵码python小游戏开发AI编程-之飞机大战小游戏上手实践-优雅草央千澈-用ai开发小游戏尝试-分享源代码和游戏包
【01】做一个精美的打飞机小游戏,浅尝阿里云通义灵码python小游戏开发AI编程-之飞机大战小游戏上手实践-优雅草央千澈-用ai开发小游戏尝试-分享源代码和游戏包
457 48
【01】做一个精美的打飞机小游戏,浅尝阿里云通义灵码python小游戏开发AI编程-之飞机大战小游戏上手实践-优雅草央千澈-用ai开发小游戏尝试-分享源代码和游戏包
|
3月前
|
人工智能 搜索推荐 数据可视化
用 Python 制作简单小游戏教程:手把手教你开发猜数字游戏
本教程详细讲解了用Python实现经典猜数字游戏的完整流程,涵盖从基础规则到高级功能的全方位开发。内容包括游戏逻辑设计、输入验证与错误处理、猜测次数统计、难度选择、彩色输出等核心功能,并提供完整代码示例。同时,介绍了开发环境搭建及调试方法,帮助初学者快速上手。最后还提出了图形界面、网络对战、成就系统等扩展方向,鼓励读者自主创新,打造个性化游戏版本。适合Python入门者实践与进阶学习。
245 1
|
8月前
|
人工智能 Python
【02】做一个精美的打飞机小游戏,python开发小游戏-鹰击长空—优雅草央千澈-持续更新-分享源代码和游戏包供游玩-记录完整开发过程-用做好的素材来完善鹰击长空1.0.1版本
【02】做一个精美的打飞机小游戏,python开发小游戏-鹰击长空—优雅草央千澈-持续更新-分享源代码和游戏包供游玩-记录完整开发过程-用做好的素材来完善鹰击长空1.0.1版本
231 7
|
8月前
|
测试技术 Python
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
324 31
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
|
9月前
|
Python
课程设计项目之基于Python实现围棋游戏代码
游戏进去默认为九路玩法,当然也可以选择十三路或是十九路玩法 使用pycharam打开项目,pip安装模块并引用,然后运行即可, 代码每行都有详细的注释,可以做课程设计或者毕业设计项目参考
177 33
|
Python
掌握Python算术与反算术精髓,解锁编程新境界,轻松驾驭数值计算,让每一行代码都精准无误!
【8月更文挑战第22天】Python中的算术运算符如加(+)、减(-)、乘(*)、除(/)、整除(//)、取模(%)及幂运算(**)是数值计算的基础,简化了编程过程并使代码更直观。例如,可以轻松计算矩形的面积与周长。而所谓的“反算术”操作,如取反(使用负号-)和求绝对值,则能进一步处理数值结果。这些运算符是编程中不可或缺的工具,帮助我们高效且清晰地解决问题。
131 0
|
11月前
|
IDE 开发工具 Python
Python扑克游戏编程---摸大点
Python扑克游戏编程---摸大点
146 1
|
机器学习/深度学习 人工智能 开发者
Python适合做游戏吗?
【7月更文挑战第2天】Python适合做游戏吗?
304 56
|
12月前
|
Python
Python实现200以内的乘法算术题
Python实现200以内的乘法算术题
|
12月前
|
Python
python编写下象棋游戏|4-14
python编写下象棋游戏|4-14

热门文章

最新文章

推荐镜像

更多