[LeetCode]21.合併兩個有序連結串列(Java)
阿新 • • 發佈:2021-11-22
作業目標
實現小學四則運算
程式碼
import random import math import fractions question = [] answer = [] #整數運算 def first(question,ans): symbol = random.choice(['+','-','×','÷']) if symbol == '+': a = random.randint(0,10) b = random.randint(0,10) question.append(str(a)+'+'+str(b)+'=') answer.append(a + b) elif symbol == '-': a = random.randint(0,10) b = random.randint(0,10) a,b = max(a,b),min(a,b) question.append(str(a)+'-'+str(b)+'=') answer.append(a - b) elif symbol == '×': a = random.randint(0,10) b = random.randint(0,10) question.append(str(a)+'×'+str(b)+'=') answer.append(a * b) else: a = random.randint(0,10) if a == 0: b = random.randint(1,10) else: b = random.randint(1,a+1) question.append(str(a)+'÷'+str(b)+'=') answer.append(fractions.Fraction(a,b)) #輸出函式 n=k=int(input("你需要多少道題:")) print("題目已生成") while n>0: first(question,answer) n -= 1 f = open("Exercises.txt",'w') g = open("Answers.txt",'w') j = 0 while j<k: question1=question[j] answer1=str(answer[j]) x=j+1 f.write("第""%d""個問題:"%x) f.write(question1) g.write(answer1) f.write('\n') g.write('\n') j += 1 f.close() g.close() #統計錯題判斷對錯 print("完成作業並把答案寫在Answer.txt裡") words = input("完成請輸入\'yes':") if words == 'yes': yours=open('Answers.txt') an=open('Answers.txt') x=list(yours) y=list(an) o=0 C=0 v=[] i=[] while o<k: if x[o]==y[o]: C+=1 t=o+1 v.append(t) else: p=o+1 i.append(p) o+=1 X=k-C G=open('Grade.txt','w') G.write('Correct:') G.write(str(k)) G.write(str(v)) G.write('\n') G.write('Wrong:') G.write(str(k)) G.write(str(i)) G.close()
執行