2015-07-13 36 views
-4

所以我不斷收到名爲「字」沒有定義:PYTHON幫助,單詞沒有定義?

#for every character in secret_word 
    for char in word: 

語境:

import time 
name = input("What is your name? ") 

print ("Hello, " + name, "Time to play hangman!")  
print ("\n") 

time.sleep(1) 

print ("Start guessing...") 
time.sleep(0.5) 

list = ["secret"] 

guesses = ' ' 

turns = 10 

while turns > 0: 

    failed = 0 

    #for every character in secret_word 
    for char in words: 
     if char in guesses: 
       print ("char,") 
     else: 
       print ("_",) 
     if failed == 0: 
      print ("\nYou won") 

      # exit the script 
     break 

     print 
     guess = input("guess a character") 
     guesses += guess 
     if guess not in word: 
       turns -= 1 
     print ("Wrong\n") 
     print ("you have") , + turns, 'more guesses' 
     if turns == 0: 
      # print ("you lose\n") 
       print("exit") 
+0

你得到這個,因爲'單詞'沒有定義。你想要「單詞」是什麼?如果在錯誤行之前執行'word =「foo」',則不會再出現該錯誤。 – James

+0

請提供代碼作爲文本顯示問題內聯問題。在更新帖子時,請務必刪除帖子中的所有「幫助」,並嘗試提供良好的標題。 –

+0

我猜你想把'list = [「secret」]改成'word =(「secret」)' - 注意使用set。 – JGreenwell

回答

1

你指的是變量「字」沒有定義它。某處你for循環之前,你必須定義它像這樣:

word = "myString" 

你應該在這裏發佈,而不是下一次的截圖你的實際代碼。突出顯示它並按Ctrl + k將其標記爲代碼。

1

事情是,words不存在。在您的代碼中,words不能用作任何地方的變量。

讀劇本的評論,而不是後:

list = ['secret_word'] 

嘗試:

words = ['secret_word'] 

甚至:

words = 'secret_word' 

一旦你定義什麼words的代碼將工作是在你的腳本中的任何其他代碼中使用它之前。