2017-02-23 42 views
-6

嗨我想製作一臺電腦與電腦猜謎遊戲,我不想讓電腦1猜兩次相同的數字。我想知道如何制止這一點。我相信這是圍繞if語句,但我被卡住了。我需要幫助。如何檢查數字是否在列表中

from random import randint 

try: 
    guess = randint(0,5) 
    computer1 = randint(0,5) 
    GuessList = [ ] 
    GuessList.append(computer1) 

    while computer1 != guess: 
     print("COmputer guessed ",computer1) 
     if computer1 in GuessList: 
      computer1 = randint(0, 5) 
     #computer1 = randint(0,5) 

except KeyboardInterrupt: 
    print("goodbye") 


print("COMPUTER FINALLY GUESSED "), guess) 

我的輸出是computer1多次猜測相同的數字,但它最終會得到它。

+2

「我需要幫助我的Python代碼」是*不是一個合適的標題*。請修復它以描述您遇到的問題。無需提及Python,也就是標籤的用途。 –

+2

歡迎來到StackOverflow。請閱讀並遵守幫助文檔中的發佈準則。 [最小,完整,可驗證的示例](http://stackoverflow.com/help/mcve)適用於此處。在發佈您的MCVE代碼*和*準確描述問題之前,我們無法爲您提供有效幫助。具體來說,顯示你得到的輸出和期望的輸出。 – Prune

回答

0

您可以再補充,

while computer1 in GuessList: 
    computer1 = randint(0, 5) 

您的電腦1 = randint後(0,5)。您可能需要刪除您的GuessList = [],因爲每次都會重置您的GuessList。相反,你應該在你的代碼的一開始就有這個,並留下append語句。

或者你可以使用

computer1 = random.choice(GuessesLeft) 

GuessesLeft是所有電腦1還沒有猜到號碼列表。每次它猜測你只是從列表中刪除該項目。

相關問題