1import random#
匯入隨機庫
2from fractions import fraction#
匯入分數運算3#
#整數運算
4def
c1(q, ans):
5 operator = random.choice(['
+', '
-', '
*', '
/']) #
生成運算子
6if operator == '+'
:7 n1 = random.randint(0, 10)
8 n2 = random.randint(0, 10)
+' + str(n2) + '='
)11elif operator == '-'
:12 n1 = random.randint(0, 10)
13 n2 = random.randint(0, 10)
14 n1, n2 = max(n1, n1), min(n1, n2) #
防止出現負數
-' + str(n2) + '='
)17elif operator == '*'
:18 n1 = random.randint(0, 10)
19 n2 = random.randint(0, 10)
×' + str(n2) + '='
)22else
:23 n1 = random.randint(0, 10)
24 n2 = random.randint(1, 10)
÷' + str(n2) + '='
)2627#
#隨機生成兩個分數,且第二個不為0
28def
createf():
29 fz1 = random.randint(0, 10)
30 fm1 = random.randint(1, 10)
31 f1 =fraction(fz1, fm1)
32 fz2 = random.randint(1, 10)
33 fm2 = random.randint(1, 10)
34 f2 =fraction(fz2, fm2)
35return
f1, f2
36def f(f): #
分數的轉換
37 a = f.numerator #
分子38 b = f.denominator #
分母39
if a % b == 0: #
為整數40
return'%d
' % (a/b)
41elif a < b: #
為真分數
42return
'%d%s%d
' % (a, '/'
, b)
43else: #
為帶分數
44 c = int(a/b)
45 a = a - c *b
46return
'%d%s%d%s%d
' % (c, '
』', a, '/'
, b)47#
#分數運算
48def
c2(q, ans):
49 operator = random.choice(['
+', '
-', '
*', '/'
])50 f1, f2 =createf()
51if operator == '+'
:52 f1, f2 =createf()
+'+str(f2)+'='
)55elif operator == '-'
:56 f1, f2 = max(f1, f2), min(f1, f2) #
防止出現負數
-'+str(f2)+'='
)59elif operator == '*'
:60 f1, f2 =createf()
×'+str(f2)+'='
)63else
:64 f1, f2 =createf()
÷'+str(f2)+'='
)6667def
main():
68while 1:
69 k = 10
70 p = 10
71 s =0
72 q =
73 ans =
74 ans2 =
75for i in
range(k):
76 n = random.randint(1, 4)
77if n == 1:
78c1(q, ans)
79 g =fraction(ans[i])
8081
else:82
c2(q, ans)
83 g =fraction(ans[i])
記錄帶分數答案
85for i in
range(k):
86print("
第{}題:{}
".format(i + 1, q[i]), end="")
87 a =input()
88if a ==str(ans[i]):
89 s = s +p
90print("
所得的分數為:{}
".format(s))
91print("
正確答案:
", end="")
92for i in
range(k):
93if str(ans[i]) ==str(ans2[i]):
94print(q[i] +str(ans[i]))
95else:96
print("
{}{}或{}
小學四則運算程式設計實踐
import random 引入隨機數字 def szys sym 列表中全是加減乘除的符號 f random.randint 0,3 n1 random.randint 1,20 n2 random.randint 1,20 result 0 if f 0 result n1 n2 elif f ...
小學四則運算程式設計實踐
實踐能力的提高當然就是得多動手了,那麼就從第乙個個人專案開始吧,用一周的時間完成乙個基於控制台的四則運算程式,實現乙個自動生成小學四則運算題目的命令列程式。使用python或scratch實現四則運算 生成的題目中如果存在形如e1 e2的子表示式,那麼其結果應是真分數。每道題目 現的運算子個數不超過...
小學四則運算程式設計
內容 1 引入隨機函式,隨機生成四種運算型別和需要運算的數值 import random def szys sym a random.randint 0,3 n1 random.randint 1,20 n2 random.randint 1,20 result 0 if a 0 result n1...