2012-01-09 13 views
-1

Python新手,試圖弄清楚這裏出了什麼問題。製作一個簡單的遊戲,我必須猜測計算機隨機生成的數字。謝謝你的幫助。製作小遊戲時的Python語法錯誤

這是我有:

你的條件和循環,又名 while entered != guessed:結束
guessed == random.randint(1,100) 

print("I guessed a number between 1 and 100. Try to find it!") 

entered = 0 
while entered != guessed 
    entered = raw_input("Enter your suggestion:") 
    entered = int(guessed_number) 
    if entered > guessed 
     print('Try less') 
    else 
     print('Try more') 
print('You win!') 
+0

那麼,什麼是錯誤? – sth 2012-01-09 23:05:40

+0

這不是你的語法錯誤,但你也使用比較運算符,你真的想要賦值運算符。 – Taymon 2012-01-09 23:08:50

+0

呵呵,這有很多錯誤。每個答案都是正確的把他們放在一起,你應該得到它排序,祝你好運和快樂編碼 – 2012-01-09 23:19:45

回答

2

歡迎來到Python 3.x!這是你的固定代碼。

#Import Random 
import random as r 


#Create a random Number! 
guessed = r.randint(1,100) 

print("I guessed a number between 1 and 100. Try to find it!") 


#Initiate variable --entered-- 
entered = 0 
while (entered != guessed): 
    entered = int(input("Enter your suggestion:")) 
    #Fixed your if/else tree with correct indents and an elif. 
    if (entered > guessed): 
     print('Try less') 
    elif (entered <guessed): 
     print('Try more') 
    else: 
     print('You win!') 
+0

非常感謝。在開始時導入的意義何在? – Edward 2012-01-09 23:25:32

+0

如果你不導入類「隨機」,你會收到... NameError:名稱'隨機'沒有定義。 – Bry6n 2012-01-09 23:27:40

3

你錯過了冒號。將它們添加到ifelse行的末尾。此外,在分配guessed而不是分配運算符(=)時,您正在使用比較(==)運算符。

此外,您會發現它會打印出「嘗試更多」,即使他們猜測了正確的數字,然後它會打印出「您贏了!」。我將這個練習留給新開發人員來解決。

3
entered = int(guessed_number) 

沒有意義,因爲您沒有guessed_number變量。我認爲你的意思是做

entered = int(raw_input("Enter your suggestion:") 

此外,你是在你的塊開始時,如果,和其他人,你失去了冒號。

1

要添加到列表中:

guessed == random.randint(1,100) 

應該

guessed = random.randint(1,100) 

我敢肯定,你寧願分配到guessed比進行比較​​,然後拋出一個比較的結果遠。

0
entered = int(guessed_number) 

它沒有任何意義。 'guessed_number'沒有變量。

我編輯了自己的代碼,使其工作:

import random 

guessed = r.randint(1,100) 

print("I guessed a number between 1 and 100. Try to find it!") 

entered = 0 
while (entered != guessed): 
    entered = int(input("Enter your suggestion:")) 
    if (entered > guessed): 
     print('Try less') 
    elif (entered <guessed): 
     print('Try more') 
    else: 
     print('You win!') 

希望幫助!

〜Edward