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,如需转载请自行联系原作者
目录
相关文章
|
4月前
|
Python
掌握Python算术与反算术精髓,解锁编程新境界,轻松驾驭数值计算,让每一行代码都精准无误!
【8月更文挑战第22天】Python中的算术运算符如加(+)、减(-)、乘(*)、除(/)、整除(//)、取模(%)及幂运算(**)是数值计算的基础,简化了编程过程并使代码更直观。例如,可以轻松计算矩形的面积与周长。而所谓的“反算术”操作,如取反(使用负号-)和求绝对值,则能进一步处理数值结果。这些运算符是编程中不可或缺的工具,帮助我们高效且清晰地解决问题。
33 0
|
2月前
|
IDE 开发工具 Python
Python扑克游戏编程---摸大点
Python扑克游戏编程---摸大点
60 1
|
3月前
|
Python
Python实现200以内的乘法算术题
Python实现200以内的乘法算术题
|
3月前
|
Python
python编写下象棋游戏|4-14
python编写下象棋游戏|4-14
|
3月前
|
人工智能 算法 图形学
总有一个是你想要的分享40个Python游戏源代码
这是一系列基于Python开发的游戏项目集合,包括中国象棋、麻将、足球、坦克大战、扑克等多种类型游戏,运用了Pygame等库实现图形界面与AI算法。此外还包含迷宫、数独、推箱子等益智游戏及经典游戏如《仙剑奇侠传二战棋版》和《星露谷物语》的Python版本,适合编程学习与娱乐。
142 11
|
2月前
|
数据采集 前端开发 Python
Python pygame 实现游戏 彩色 五子棋 详细注释 附源码 单机版
Python pygame 实现游戏 彩色 五子棋 详细注释 附源码 单机版
85 0
|
3月前
|
消息中间件 数据采集 数据库
庆祝吧!Python IPC让进程间的合作,比团队游戏还默契
【9月更文挑战第7天】在这个数字化时代,软件系统日益复杂,单进程已难以高效处理海量数据。Python IPC(进程间通信)技术应运而生,使多进程协作如同训练有素的电竞战队般默契。通过`multiprocessing`模块中的Pipe等功能,进程间可以直接传递数据,无需依赖低效的文件共享或数据库读写。此外,Python IPC还提供了消息队列、共享内存和套接字等多种机制,适用于不同场景,使进程间的合作更加高效、精准。这一技术革新让开发者能轻松应对复杂挑战,构建更健壮的软件系统。
44 1
|
5月前
|
机器学习/深度学习 人工智能 开发者
Python适合做游戏吗?
【7月更文挑战第2天】Python适合做游戏吗?
115 56
|
4月前
|
机器学习/深度学习 存储 定位技术
强化学习Agent系列(一)——PyGame游戏编程,Python 贪吃蛇制作实战教学
本文是关于使用Pygame库开发Python贪吃蛇游戏的实战教学,介绍了Pygame的基本使用、窗口初始化、事件处理、键盘控制移动、以及实现游戏逻辑和对象交互的方法。
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
【机器学习】python之人工智能应用篇--游戏生成技术
游戏生成技术,特别是生成式人工智能(Generative Artificial Intelligence, 简称Generative AI),正逐步革新游戏开发的多个层面,从内容创作到体验设计。这些技术主要利用机器学习、深度学习以及程序化内容生成(Procedural Content Generation, PCG)来自动创造游戏内的各种元素,显著提高了开发效率、丰富了游戏内容并增强了玩家体验。以下是生成式AI在游戏开发中的几个关键应用场景概述
89 2