2016-02-26 50 views
1

剛學習Python和我試圖做一個非常簡單的數學測驗,但運行時我得到一個語法錯誤,請解釋一下我做錯了的Python除了數學測驗

from random import randint 
inf = 0 
while inf < 10: 
    num1 = randint(0,5000) 
    num2 = randint(0,5000) 
    ans = num1+num2 
    print(num1,"+",num2) 
    plrans = input(int()"What's the answer?") 
    if plrans = ans 
     print("Correct!") 
    else 
     print("Incorrect :(") 
+0

歡迎來到Stack Oveflow!究竟是什麼錯誤?用[edit]鏈接添加跟蹤到你的問題。 – Celeo

+0

什麼是語法錯誤? – CalebB

+1

提示:看一下'plrans = input(int()「答案是什麼?」) – Celeo

回答

0

有3個錯誤:

  1. plrans =輸入(INT() 「答案是什麼?」)

應該

plrans = int(input("What's the answer?")) 
  • 使用==代替=

  • 您在ifelse後面缺少冒號。

  • +0

    這是其中一個問題,但現在我在 處得到錯誤「if plrans = ans:」 –

    +0

    Use == '。你之前編程過嗎? – goelakash

    +0

    現在得到它的工作謝謝:) –

    2

    有幾件事錯在這裏:

    1. int轉換應該從用戶
    2. =獲取輸入後進行是賦值運算符。爲了檢查平等,你應該使用==操作
    3. if語句丟失冒號(:
    4. 所以你else聲明:


    from random import randint 
    inf = 0 
    while inf < 10: 
        num1 = randint(0,5000) 
        num2 = randint(0,5000) 
        ans = num1+num2 
        print(num1,"+",num2) 
        plrans = int(input("What's the answer?")) # issue 1 
        if plrans == ans : # issues 2 and 3 
         print("Correct!") 
        else: # issue 4 
         print("Incorrect :(") 
    
    +1

    感謝這讓它工作:) –

    1

    另外對於Mureinik列出的錯誤,你運行while循環只要inf<10,但你實際上永遠不會增加inf。所以如果其他錯誤得到修復,這個程序將永遠運行。

    +0

    這是我希望它永遠運行的點,但如果你能請你告訴我如何輕鬆增加? –

    +0

    如果您在循環結尾處放置了'inf + = 1',程序將在做10次測驗後結束。 – wythagoras

    +0

    謝謝wythagoras –