-
Notifications
You must be signed in to change notification settings - Fork 0
/
小学生四则运算
66 lines (65 loc) · 2.28 KB
/
小学生四则运算
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
60
61
62
63
64
65
66
import random
def LowCalculate():#三年级以下题目,只涉及两个数字的加减运算
while(True):
integer1 =random.randint(1, 100)
integer2 =random.randint(1, 100)
if (integer1 - integer1>0):
integer1 = integer1
integer2 = integer2
break
lowsymbol = random.choice("+-")
if eval(str(integer1)+str(lowsymbol)+str(integer2))>0:
return str(integer1)+str(lowsymbol)+str(integer2)
def ProperFraction():#产生真分数
while(True):
molecular = random.randint(1,100) #分子
denominator = random.randint(1,100) #分母
if(molecular<denominator):
return str(molecular)+"/"+str(denominator)
break
def blacket():#产生三年级以上题目,含真分数的四则运算
left="("
right=")"
integer=str(random.randint(1,100))
symbol=random.choice("+-*/")
fraction=ProperFraction()
if eval(integer+symbol+fraction)>0:
return left+integer+symbol+fraction+right
def Select():
if choice == '1':
k=0
for i in range (5):
a = LowCalculate()
a = str(a)
b = eval(a)
print( a ,"=","请输入答案")
answer = input()
answer = int(answer)
if (abs(answer - b)) == 0:
k=k+1
print("你的回答正确")
else:
print("答案错误", "正确答案是:", b)
print("你一共答对了", k, "题", "准确率为:", k / 5)
if choice == '2':
count=0
for i in range (5):
a=blacket()
b=str(random.choice("+-*/"))
c=ProperFraction()
if eval(a+b+c)>0:
print(a,b,c,"="," 请输入答案:")
answer = input()
answer = float(answer)
if (abs(answer-eval(a+b+c)))<0.1:
count=count+1
print("你的回答正确","准确答案是:",eval(a+b+c))
else:
print("答案错误","正确答案是:",eval(a+b+c))
print("你一共答对了",count,"题","准确率为:",count/5)
if __name__ == '__main__':
print("请选择难度,"
"三年级以下请输入1",
"三年级以上请输入2")
choice = input()
X=Select()