2014-01-07 36 views
0

我決定做一個簡單的程序,但每當我嘗試運行它,它給我一個語法錯誤,並突出顯示「試試= 1」紅色。我不明白爲什麼它這樣做?Python錯誤「試試= 1」

下面是代碼:

print("A chance to in a jack\"ass\"pot! Enter a number between 1 and 10!" 
tries = 1 
while 1: 
    if tries == 3: 
    print("You lose!") 
    break 
    val = input("Enter the number: ") 
    if val == 7: 
    print("Well done! You win $10 million of fake currency") 
    break 
    else: 
    print("Try again loser") 
    tries += 1 

input("Press enter to continue...") 
+3

有你的打印語句沒有結束')'。 –

+1

哦,太笨了!謝謝。 – AvZ

回答

0

你忘了關print()電話:

print("A chance to in a jack\"ass\"pot! Enter a number between 1 and 10!" 
# -^ opens but ----------------------------------------- no closing ---^ 

當您不關閉括號,Python看到下一行作爲語句的一部分,一個字符串,然後tries是沒有意義的。經驗法則:每當你有一個無法解釋的語法錯誤時,檢查前面的幾行,看看是否有合適數量的右括號,括號或大括號來關閉所有大括號,括號和括號。

注意input()在Python 3返回一個字符串,不是整數,所以比較是要失敗:

if val == 7: 

因爲val是一個字符串。無論是與之比較的字符串:

if val == '7': 

或轉換val爲整數:

val = int(input("Enter the number: ")) 
+0

還有另一個問題。即使我輸入7,它仍然打印出「再試一次失敗者」。......那裏發生了什麼?即使我使用elif,它只是突出顯示它,並說「語法錯誤」 – AvZ

+0

謝謝你的工作!我贏得了傑克「屁股」鍋! – AvZ

0

您先打印:

print("A chance to in a jack\"ass\"pot! Enter a number between 1 and 10!" 

滯後關閉)。