小學四則運算程式設計實踐

2022-06-29 13:03:14 字數 3436 閱讀 1341

1

import 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...