1. 程式人生 > 其它 >[LeetCode]21.合併兩個有序連結串列(Java)

[LeetCode]21.合併兩個有序連結串列(Java)

作業目標

實現小學四則運算

程式碼

    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()

執行