最近,家有小儿初长成。曾经萌萌哒的Sam小盆友也马上要步入小学生的行列了。为了不输在起跑线上,老母亲决定每天给出100题计算题😏。手动出题太麻烦,肿么办?当然是动手写一个了!用上伟大的Python,分分钟搞定不在话下:
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
'''
A simple python calculation question generator
usg: python calculator.py -d "+,-" -c 3 -l 200 -t 30
usg: python calculator.py --op_type="+,-" --op_count=3 --limit=20 --total=30
'''
import sys, getopt, random
def auto_cal_generator(limit=100, op_count=1, op_type=["+"], total=100):
print("Here are today's %d works, good luck!" % total)
l = len(op_type)-1
for j in range(0, total):
up = limit
question = ""
for i in range(0, op_count+1):
num = 0
if i == 0:
num = random.randint(1,max(1,min(limit,up)))
question = "%s%d" % (question, num)
up -= num
continue
op = "+"
if limit - up > 0:
op_i = random.randint(0,l)
op = op_type[op_i]
question = "%s%s" % (question, op)
if op =="+":
num = random.randint(1,max(1,min(limit,up)))
up -= num
elif op == "-":
num = random.randint(1,max(limit-up, 1))
up += num
else:
print("operator error: %s" % op)
sys.exit(1)
question = "%s%d" % (question, num)
print("%d: %s=" % (j+1, question))
def main(argv=None):
if argv is None:
argv = sys.argv
opts, _dummy = getopt.getopt( sys.argv[1:], "l:c:d:t:", ["limit=","op_count=","op_type=","total="])
limit = 100
op_count = 1
op_type = ["+"]
total = 100
for opt,arg in opts:
if opt in ["-l", "--limit"]:
limit = int(arg)
elif opt in ["-c", "--op_count"]:
op_count = int(arg)
elif opt in ["-d", "--op_type"]:
op_type = arg.strip().split(",")
elif opt in ["-t", "--total"]:
total = int(arg)
auto_cal_generator(limit, op_count, op_type, total)
if __name__ == '__main__':
main()
有了这个神器后,想看电视?想吃冰激凌?想去游乐园?先做30题解锁,用法:
1
2
#出30题200以内3个运算符的加减法计算
python calculator.py -d "+,-" -c 3 -l 200 -t 30
看看结果:
当然,对于不到一年级的小豆包来说,用加减法对付已经戳戳有余了,乘除法等有空再加吧。
项目代码点此下载
有空又加了个在线演示:Calculator 。支持直接在页面做题,也可打印出来。
懒得判题怎么办?推荐:学而思培优APP -> 发现 -> 智能判题 。 果然,懒惰是促进人类发展的第一生产力
当然,如果你还没有下载,作为中国亿万焦虑妈妈的必备APP,你也一定要下一个:
今天的内容就到这了,如果觉得对你有帮助的话,请关注我的微信号,让我们共同成长进步~
本文作者:Jessychen
版权声明:本博客所有文章除特别声明外,均采用CC-BY-NC-SA 4.0 Int'l许可协议
如需转载,烦请注明出处: