python四则运算程序_四则运算(Python)
四则运算程序
一、信息
二. 题目要求
写一个能自动生成小学四则运算题目的程序,然后在此基础上扩展:
1
除了整数以外,还要支持真分数的四则运算,例如:1/6+1/8=7/24
2
程序要求能处理用户的输入,判断对错,累积分数
3
程序支持可以由用户自行选择加、减、乘、除运算
4
使用-n参数控制生成题目的个数,例如Myapp.exe -n 10,将生成10个题目
三、代码
import random # 生成随机数
from fractions import Fraction # 分数运算
list_subjects=[] # 对题目信息储存
list_answers =[] # 对答案信息储存
#主函数
def main():
display() #调用信息界面
n = int(input("共有题目数量为:"))
print("**************")
choose_rule = int(input("在1-5中选择需要的运算:"))
for i in range(n):
if choose_rule == 1:
div()
elif choose_rule == 2:
mul()
elif choose_rule == 3:
cut()
elif choose_rule == 4:
add()
elif choose_rule == 5:
frac()
else:
print("输入有误,请选择(1-5)!")
break
count = judge()
print("总共{}分,共答对{}分".format(n,count))
#信息界面
def display():
print("四则运算开始!!")
print(" 1. 除法运算(÷)")
print(" 2. 乘法运算(x)")
print(" 3. 减法运算(-)")
print(" 4. 加法运算(+)")
print(" 5. 真分数运算(随机算法)")
#加法运算
def add():
num1 = random.randint(1, 100)
num2 = random.randint(1, 100)
list_subjects.append(str(num1) + '+' + str(num2) + '=')
list_answers.append(num1 + num2)
#减法运算
def cut():
num1 = random.randint(1, 100)
num2 = random.randint(1, 100)
if num1 < num2:
num1, num2 = num2, num1
list_subjects.append(str(num1) + '-' + str(num2) + '=')
list_answers.append(num1 - num2)
#乘法运算
def mul():
num1 = random.randint(1, 100)
num2 = random.randint(1, 100)
list_subjects.append(str(num1) + 'x' + str(num2) + '=')
list_answers.append(num1 * num2)
#除法运算
def div():
num1 = random.randint(1, 100)
num2 = random.randint(1, 100)
num = Fraction(num1,num2)
list_subjects.append(str(num1) + '÷' + str(num2) + '=')
list_answers.append(num)
# 判断对错,累加正确分数
def judge():
count = 0 #分数值
for i in range(len(list_subjects)):
print("第{}题".format(i + 1))
print("题目:",list_subjects[i])
y_answer = eval(input("请输入你的答案:"))
if y_answer == float(list_answers[i]): #判断对错
print("正确!")
print("*************")
count += 1
else:
print("错误!正确答案是:{}".format(list_answers[i]))
return count
#分数运算
def frac():
fz1 = random.randint(1,10)
fm1 = random.randint(1,10)
if fz1 > fm1:
fz1,fm1 = fm1,fz1
num1 = Fraction(fz1,fm1)
fz2 = random.randint(1,10)
fm2 = random.randint(1,10)
if fz2 > fm2:
fz2,fm2 = fm2,fz2
num2 = Fraction(fz2,fm2)
if num1 < num2:
num1,num2 = num2,num1
rule = random.choice(['+','-','x','÷'])
if rule == '+':
list_subjects.append(str(num1) + ' + ' + str(num2) + '=')
list_answers.append(num1 + num2)
elif rule == '-':
list_subjects.append(str(num1) + ' - ' + str(num2) + '=')
list_answers.append(num1 - num2)
elif rule == 'x':
list_subjects.append("(" + str(num1) + ")" + 'x' + "(" + str(num2) + ")" + '=')
list_answers.append(num1 * num2)
else:
list_subjects.append("(" + str(num1) + ")" + '÷' + "(" + str(num2) + ")" + '=')
list_answers.append(num1 / num2)
main()
四、实验结果
五、PSP表格
|任务内容|计划完成需要的时间(min)|实际完成需要的时间(min)|
计划
20
25
估计这个任务需要多少时间,并规划大致工作步骤
15
17
开发
140
200
需求分析(包括学习新技术)
15
14
生成设计文档
10
10
设计复审
8
8
代码规范
12
15
具体设计
20
30
具体编码
100
140
代码复审
20
30
报告
20
25
测试报告
10
15
计算工作量
10
15
事后总结,并提出过程改进计划
3
5
六、总结反思
通过这次动手,我发现我思维的局限性感受到了自己很多的不足,以后我会好好改进,高效正确的完成任务。
python四则运算程序_四则运算(Python)相关推荐
- python四则运算程序_四则运算小程序(Python)
二. 题目要求 写一个能自动生成小学四则运算题目的程序,然后在此基础上扩展: 1)除了整数以外,还要支持真分数的四则运算,例如:1/6+1/8=7/24 2)程序要求能处理用户的输入,判断对错,累积分 ...
- python 时间序列预测_使用Python进行动手时间序列预测
python 时间序列预测 Time series analysis is the endeavor of extracting meaningful summary and statistical ...
- python 概率分布模型_使用python的概率模型进行公司估值
python 概率分布模型 Note from Towards Data Science's editors: While we allow independent authors to publis ...
- python矩阵运算程序_用于矩阵运算的Python程序
python矩阵运算程序 There are following matrix operations, that we can implement with the numpy matrix. 我们可 ...
- python集群_使用Python集群文档
python集群 Natural Language Processing has made huge advancements in the last years. Currently, variou ...
- python 网页编程_通过Python编程检索网页
python 网页编程 The internet and the World Wide Web (WWW), is probably the most prominent source of info ...
- python机器学习预测_使用Python和机器学习预测未来的股市趋势
python机器学习预测 Note from Towards Data Science's editors: While we allow independent authors to publish ...
- python高斯求和_利用Python进行数据分析(3)- 列表、元组、字典、集合
本文主要是对Python的数据结构进行了一个总结,常见的数据结构包含:列表list.元组tuple.字典dict和集合set. image 索引 左边0开始,右边-1开始 通过index()函数查看索 ...
- python 免费空间_用python做大数据
不学Python迟早会被淘汰?Python真有这么好的前景? 最近几年Python编程语言在国内引起不小的轰动,有超越Java之势,本来在美国这个编程语言就是最火的,应用的非常非常的广泛,而Pytho ...
最新文章
- 关于commonjs,AMD,CMD之间的异同
- Openstack 通过 SQLAlchemy-ORM 访问数据库
- s3c6140 UART驱动设计
- 如何高效的使用vim
- 检查用户是否有权限从ABAP里调用C kernel functions
- 设计模式--组合模式
- Win7下使用U盘安装linux Ubuntu16.04双系统图文教程
- java找不到符号类socket,编译报错+解决方法:错误: 找不到符号
- javaweb入门笔记(5)-cookie和session
- lvs keepalive配置Jenkins2高可用
- 【记录】【解决方案】java发邮件错误:Couldn‘t connect to host, port: localhost, 25; timeout -1;易邮SMTP服务器无法启动;
- python大漠库_python类似大漠插件的库
- itextpdf生成列表基本用法
- 【免费好用】节假日查询接口
- DataV 你值得拥有的大屏展示工具
- 同一服务器上运行两个mysql实例
- 关于Node.js中内存管理的思考与实践
- 用IntelliJ IDEA自带的文本差异对比器
- Highcharts 写 venn图 (韦恩图),以及解决项目中venn的报错
- 【分享】优秀外国英文网站