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