Python_小学口算题库生成器

 1 import random
 2 import os
 3 import tkinter
 4 import tkinter.ttk
 5 from docx import Document
 6 columnsNumber = 4
 7 def main(rowsNumbers=20,grade=4):
 8     if grade < 3:
 9         operators = ‘+-‘
10         biggest = 20
11     elif grade <= 4:
12         operators = ‘+-×÷‘
13         biggest = 100
14     elif grade == 5:
15         operators = ‘+-×÷(‘
16         biggest = 100
17
18     document = Document()
19     table = document.add_table(rows=rowsNumbers,cols=columnsNumber)
20     table.style.font.name = ‘宋体‘
21     for row in range(rowsNumbers):
22         for col in range(columnsNumber):
23             first = random.randint(1,biggest)
24             second = random.randint(1,biggest)
25             operator = random.choice(operators)
26
27             if operator != ‘(‘:
28                 if operator == ‘-‘:
29                     if first < second:
30                         first,second = second,first
31                     r = str(first).ljust(2,‘ ‘)+‘ ‘ + operator + str(second).ljust(2,‘ ‘) + ‘=‘
32             else:
33                 third = random.randint(1,100)
34                 while True:
35                     o1 = random.choice(operators)
36                     o2 = random.choice(operators)
37                     if o1 != ‘(‘ and o2 !=‘(‘:
38                         break
39                 rr = random.randint(1,100)
40                 if rr > 50:
41                     if o2 == ‘-‘:
42                         if second < third:
43                             second,third = third,second
44                     r = str(first).ljust(2,‘ ‘) + o1 +‘(‘+str(second).ljust(2,‘ ‘)+o2+str(third).ljust(2,‘ ‘)+‘)=‘
45                 else:
46                     if o1 == ‘-‘:
47                         if first < second:
48                             first,second = second,first
49                         r = ‘(‘ + str(first).ljust(2,‘ ‘) + o1 +str(second).ljust(2,‘ ‘)+‘)‘+o2+str(third).ljust(2,‘ ‘)+‘=‘
50         cell = table.cell(row,col)
51         cell.text = r
52     document.save(‘kousuan.docx‘)
53
54 if __name__ == ‘__main__‘:
55     app = tkinter.Tk()
56     app.title(‘KouSuan.zWrite‘)
57     app[‘width‘] = 300
58     app[‘height‘] = 150
59     lableNumber = tkinter.Label(app,text=‘Number:‘,justify=tkinter.RIGHT,width=50)
60     lableNumber.place(x=10,y=40,width=50,height=20)
61     comboNumber = tkinter.ttk.Combobox(app,values=(100,200,300,400,500),width=50)
62     comboNumber.place(x=70,y=40,width=50,height=20)
63
64     labelGrade = tkinter.Label(app,text=‘Grade:‘,justify=tkinter.RIGHT,width=50)
65     labelGrade.place(x=130,y=40,width=50,height=20)
66     comboGrade = tkinter.ttk.Combobox(app,values=(1,2,3,4,5),width=50)
67     comboGrade.place(x=200,y=40,width=50,height=20)
68
69     def generate():
70         number = int(comboNumber.get())
71         grade = int(comboGrade.get())
72         main(number,grade)
73     buttonGenerate = tkinter.Button(app,text=‘=‘,width=40,command=generate)
74     buttonGenerate.place(x=130,y=90,width=40,height=30)
75
76     app.mainloop()

时间: 2024-09-30 23:52:33

Python_小学口算题库生成器的相关文章

写给孩子的第一个程序:生成一个TXT口算题文件

学习中Python,孩子嚷嚷说让我给出口算题,于是写了一个生成口算题的程序,我自己觉得很简陋,盼大神们给修改,您的任何建议都是对我最大的鼓励! #!/usr/bin/env python from operator import add,sub,imulfrom random import randint,choice,uniformimport osops={'+':add,'-':sub,'*':imul} def FloatToInt(numList):           ‘把小数为零的

最近想写一个小学生口算的app,先把想的思路写下来,具体代码实现等完成后在贴

小学口算App思路 参数设置 1)算数的最大值,最小值(随机产生), 2)因子的个数 3)操作运算符设置(加法,减法,加减混合,乘法,除法,乘除混合,加减乘除混合) 4)运算规则(结果不能为负数,要能整除....) 5)测试方法(一.计时测试 二.倒计时测试) 6)随即生成题目的个数 功能菜单 1)开始口算测试 2)历史成绩查看 3)帮助 4)关于

用Python开发小学二年级口算自动出题程序

版权声明:本文为博主原创文章,欢迎转载,并请注明出处.联系方式:[email protected] 武汉光谷一小二年级要求家长每天要给小孩出口算题目,让孩子练习. 根据老师出题要求编写了Python程序自动出题,结果保存为txt文件,打印出来作为练习用,这样就不用每天繁琐地人工出题了,其中的数字用randint随机产生. 程序如下: # -*- coding:utf-8 -*- __author__ = 'zhengbiqing [email protected]' __doc__ = "&qu

国学题库整理

1.六艺:一曰五礼,二曰六乐,三曰五射,四曰五御,五曰六书,六曰九数. 其中,“御”不仅指驾驶,还指驾驭下属乃至国家的知识. 2.竹林七贤:嵇康.阮籍.山涛.向秀.刘伶.王戎及阮咸七人. 3.乡试录取者称为“举人”,会试录取者称为“贡生”,殿试录取者称为“进士”. 4.乡试第一名称“解元”.明.清科举分为三甲.头甲三人,即状元.榜眼和探花,赐进士及第:二甲第一名,称“传胪”(起初,三甲头名亦称传胪,后仅限于二甲头名),中二甲赐进士出身:三甲人数最多,赐同进士出身. 5.襁褓:未满周岁的婴儿 孩提

[NOI题库]1.3编程基础之算术表达式与顺序执行 题解(一)

01 A+B问题 经典的A+B Problem——各大题库上的首题.读入$a,b$,输出$a+b$. #include <iostream> using namespace std; int main() { int a,b; cin>>a>>b; cout<<a+b<<endl; return 0; } 01.cpp 02 计算(a+b)*c的值 读入$a,b,c$,输出$c(a+b)$. #include <iostream> u

菁优网(jyeoo.com)题库数据(题目数据超102万组题数据超2100万含图片)

本文原创作者:数据超市(http://www.data-shop.net) 本文原始链接:http://www.data-shop.net/2016/03/jyeoo_com_20160321/ 数据说明:菁优网(http://www.jyeoo.com/)的题库数据.是按网站上的学科.教材组题来采集的,数据总数21,125,850条.数据包括以下学科:小学 – 数学初中 – 数学,物理,化学,生物,地理高中 – 数学,物理,化学,生物 特别说明:本次采集内容包括菁优网上初中.高中.小学的所有的

北大ACM题库习题分类与简介(转载)

在百度文库上找到的,不知是哪位大牛整理的,真的很不错! zz题 目分类 Posted by fishhead at 2007-01-13 12:44:58.0 -------------------------------------------------------------------------------- acm.pku.edu.cn 1. 排序 1423, 1694, 1723, 1727, 1763, 1788, 1828, 1838, 1840, 2201, 2376, 23

题库类产品如何计算题目的难度值

一.引言 题库类产品(如猿题库.易题库等)的一个标配功能是预测用户未来要进行的某项考试得分,我们称之为目标考试预测分.以猿题库高考为例,即将参加高考的学生通过在题库上做大量练习,练习的效果会以学生的高考预测分呈现出来,这是学生最关注的指标,也是整个题库产品中最关键的数据.为了让“预测分”数据更加准确,我们引入了能力评估模型,通过测算用户在所有知识点上的能力水平,并将其量化成为一个数值.能力评估模型中有两个重要参数:题目难度值.用户答题的正确率.简化为:A=f(an,d)其中A表示能力值,an表示

用Python给小宝做的数学四则运算_算术口算练习程序(后添加减乘除)

最近着迷上了 Python 用Python给小宝做的数学算数口算练习程序(2015年1月添加四则运算)! 给小宝做的口算游戏: #用Python给小宝做的数学算数口算练习程序(2015年1月添加四则运算)! #给小宝做的口算游戏: import string import random input=11 nums=10 num=0 righ1t=0 #分数# flagwrong=0 #没错过 print "\e[1;34mThis text is bold blue.\e[0m\n"