1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Python项目-随机加减法计算题

Python项目-随机加减法计算题

时间:2023-06-27 21:29:19

相关推荐

Python项目-随机加减法计算题

随机出30题[10,100]之间的加减法计算题,然后分别保存为不带答案的(math.txt)和带答案的(key.txt)文件。具体要求如下:

(1)每道题目随机产生的数值必须保证大数在前,小数在后;

(2)随机产生的是“加减法”运输,即30道题目中既有加法又有减法,加减法是随机产生的;

(3)math.txt和key.txt文件中的第一行均需要写入自己的真实学号和姓名,具体格式见输入效果图;

(4)写入到math.txt和key.txt文件的每道题占10个宽度,左对齐显示,题目和题目之间用一个横向制表符分隔,一行放5道题目,输出效果如下图所示。

math.txt效果图

key.txt效果图

代码:

# 产生随机数模块import random# 随机选择列表或者元组里的数据from random import choice# 输入学号和姓名stu = input("请输入学号:")name = input("请输入名字:")# 写入文件中with open("math.txt", 'w', encoding="utf-8") as f:f.write("学号:"+stu+",姓名:"+name+"\n")with open("key.txt", 'w', encoding="utf-8") as f:f.write("学号:"+stu+",姓名:"+name+"\n")# 用于随机产生+、-操作符ops = ('+','-')# 记录总题目数量i = 0# 记录每行题目数量j = 1while i<30:# 随机产生操作符op = choice(ops)# 产生随机数a,ba = random.randint(10, 100)b = random.randint(10, 100)# 用于保证大数在前,小数在后if a<b:temp = aa = bb = temp# 加法操作if op == "+":# 没有答案str1 = "%d+%d=" % (a, b)# 答案str2 = "%d+%d=%d" % (a, b, (a + b))# 每行题目没有超过5题if j != 5:j += 1# 写入文件,不换行,横向制表符分隔题目with open("math.txt", 'a', encoding="utf-8") as f:f.write("%-10s\t"% str1)with open("key.txt", 'a', encoding="utf-8") as f:f.write("%-10s\t"% str2)# 第五题else:# 写入文件并换行# %-10s表示字符串占位10位,左居中j = 1with open("math.txt", 'a', encoding="utf-8") as f:f.write("%-10s\n"% str1)with open("key.txt", 'a', encoding="utf-8") as f:f.write("%-10s\n"% str2)elif op == "-":# 没有答案str1 = "%d-%d=" % (a, b)# 答案str2 = "%d-%d=%d" % (a, b, (a - b))# 每行题目数量没有超5题if j != 5:j += 1# 写入文件,不换行,横向制表符分隔题目with open("math.txt", 'a', encoding="utf-8") as f:f.write("%-10s\t"% str1)with open("key.txt", 'a', encoding="utf-8") as f:f.write("%-10s\t"% str2)# 题目5题else:j = 1# 写入文件,并换行with open("math.txt", 'a', encoding="utf-8") as f:f.write("%-10s\n"% str1)with open("key.txt", 'a', encoding="utf-8") as f:f.write("%-10s\n"% str2)# 改变题目数量i += 1

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。