魅族雙 11 戰報出爐:旗艦系列手機銷量同比增長 165%
阿新 • • 發佈:2021-11-13
第一次編寫個人專案,基本實現所給要求,可實現10000道題目與答案的生成,但不能實現對答案正誤的檢測,可以檢測出生成題目中完全相同的題目並統計出數目,但對有些變化的重複題目無法檢測,可以輸出具體的重複的題目,到無法輸出題號。
點選檢視程式碼
with open('題目.txt','w+') as f1: f1.writelines('小學四則運算題目:') with open('答案.txt','w+') as f2: f2.writelines('參考答案:') list1 = [] list2 = [] list3 = [] def cal(n): b = random.randint(1,10) a = random.randint(1,10) c = random.randint(1,10) d = random.randint(1,10) t = random.randint(1,10) w = random.randint(1,10) if n == 1: e = '{0} + {1} ='.format(a,b) f = str(a + b) elif n == 2: if b > a: a,b = b,a e = '{0} - {1} ='.format(a,b) f = str(a - b) elif n == 3: e = '{0} * {1} ='.format(a,b) f = str(a * b) elif n == 4: e = '{0} / {1} ='.format(a,b) f = str(a / b) elif n == 5: if a > b: a,b = b,a if c > d: c,d = d,c e = '{0} / {1} + {2} / {3} ='.format(a,b,c,d) f = str(a/b + c/d) elif n == 6: if a > b: a,b = b,a if c > d: c,d = d,c if c/d > a/b: a,c = c,a b,d = d,b e = '{0} / {1} - {2} / {3} ='.format(a,b,c,d) f = str(a/b - c/d) elif n == 7: if a > b: a,b = b,a if c > d: c,d = d,c e = '({0} / {1}) * ({2} / {3}) ='.format(a,b,c,d) f = str((a/b) * (c/d)) elif n == 8: if a > b: a,b = b,a if c > d: c,d = d,c e = '({0} / {1}) / ({2} / {3}) ='.format(a,b,c,d) f = str((a/b) / (c/d)) elif n == 9: if a > b: a,b = b,a if c > d: c,d = d,c e = '{0}’{1} / {2} + {3} / {4} ='.format(w,a,b,c,d) f = str((w+a/b) + c/d) elif n == 10: if a > b: a,b = b,a if c > d: c,d = d,c if c/d > a/b: a,c = c,a b,d = d,b e = '{0}’{1} / {2} - {3} / {4} ='.format(w,a,b,c,d) f = str((w+a/b) - c/d) elif n == 11: if a > b: a,b = b,a if c > d: c,d = d,c e = '{0}’({1} / {2}) * ({3} / {4}) ='.format(w,a,b,c,d) f = str((w+(a/b)) * (c/d)) elif n == 12: if a > b: a,b = b,a if c > d: c,d = d,c e = '({0}’{1} / {2}) / ({3} / {4}) ='.format(w,a,b,c,d) f = str((w+(a/b)) / (c/d)) elif n == 13: if c > d: c,d = d,c e = '{0} + {1} / {2} ='.format(a,c,d) f = str(a + c / d) elif n == 14: if c > d: c,d = d,c if c / d > a: a,c = c,a e = '{0} - {1} / {2} ='.format(a,c,d) f = str(a - c / d) elif n == 15: if c > d: c,d = d,c e = '{0} * ({1} / {2}) ='.format(a,c,d) f = str(a * (c / d)) elif n == 16: if c > d: c,d = d,c e = '{0} / ({1} / {2}) ='.format(a,c,d) f = str(a / (c / d)) elif n == 17: if a > b: a,b = b,a if c > d: c,d = d,c e = '{0}’{1} / {2} + {3}’{4} / {5} ='.format(w,a,b,t,c,d) f = str(w + a/b + t + c/d) elif n == 18: if a > b: a,b = b,a if c > d: c,d = d,c if t + c/d > w + a/b: a,c = c,a b,d = d,b t,w = w,t e = '{0}’{1} / {2} - {3}’{4} / {5} ='.format(w,a,b,t,c,d) f = str((w + a/b) - (t + c/d)) elif n == 19: if a > b: a,b = b,a if c > d: c,d = d,c e = '({0}’{1} / {2}) * ({3}’{4} / {5})) ='.format(w,a,b,t,c,d) f = str((w + a / b) * (t + c / d)) elif n == 20: if a > b: a,b = b,a if c > d: c,d = d,c e = '({0}’{1} / {2}) / ({3}’{4} / {5})) ='.format(w,a,b,t,c,d) f = str((w + a / b) / (t + c / d)) elif n == 21: if a > b: a,b = b,a e = '{0}’{1} / {2} + {3}='.format(w,a,b,c) f = str((w+a/b) + c) elif n == 22: if a > b: a,b = b,a if c > w + a / b: c,w = w,c e = '{0}’{1} / {2} - {3} ='.format(w,a,b,c) f = str((w+a/b) - c) elif n == 23: if a > b: a,b = b,a e = '{0}’({1} / {2}) * {3}) ='.format(w,a,b,c) f = str((w+(a/b)) * c) elif n == 24: if a > b: a,b = b,a e = '({0}’{1} / {2}) / {3} ='.format(w,a,b,c) f = str((w+(a/b)) / c) elif n == 25: if c > d: c,d = d,c e = '{0} + {1}’{2} / {3} = '.format(a,w,c,d) f = str(a + w + c / d) elif n == 26: if c > d: c,d = d,c if w + c / d > a: a,w = w,a a += 2 e = '{0} - {1}’{2} / {3} = '.format(a,w,c,d) f = str(a - w + c / d) elif n == 27: if c > d: c,d = d,c e = '{0} * ({1}’{2} / {3}) = '.format(a,w,c,d) f = str(a * (w + c / d)) elif n == 28: if c > d: c,d = d,c e = '{0} / ({1}’{2} / {3}) = '.format(a,w,c,d) f = str(a / (w + c / d)) elif n == 29: if c > d: c,d = d,c if a > b: a,b = b,a e = '({0} / {1}) + ({2}’{3} / {4}) = '.format(a,b,w,c,d) f = str((a / b) + (w + c / d)) elif n == 30: if c > d: c,d = d,c if a > b: a,b = b,a e = '({0} / {1}) * ({2}’{3} / {4}) = '.format(a,b,w,c,d) f = str((a / b) * (w + c / d)) elif n == 31: if c > d: c,d = d,c if a > b: a,b = b,a e = '({0} / {1}) / ({2}’{3} / {4}) = '.format(a,b,w,c,d) f = str((a / b) / (w + c / d)) elif n == 32: if a > b: a,b = b,a e = '{0} / {1} + {2}='.format(a,b,c) f = str((a/b) + c) elif n == 33: if a > b: a,b = b,a e = '({0} / {1}) * {2}='.format(a,b,c) f = str((a/b) * c) else: if a > b: a,b = b,a e = '({0} / {1}) / {2}='.format(a,b,c) f = str((a/b) / c) with open('答案.txt','a+') as f2: f2.writelines('\n') f2.writelines(f) times = 0 for i in list1: if e == i: list2.append(e) times += 1 list3.append(times) list1.append(e) return e n = int(input('請輸入你想做題的數目:')) while n != 0: m = random.randint(1,34) question =cal(m) print(question) with open('題目.txt','a+') as f1: f1.writelines('\n') f1.writelines(question) n -= 1 def f1(): z = 0 for i in list3: z += 1 return z times = f1() print('Repeat:{0}'.format(times)) print('RepeatDetail:',list2)