2017-02-23 7 views
-6

こんにちは私はコンピュータ対コンピュータ推測ゲームを作ろうとしており、コンピュータ1が同じ番号を2回推測することは望ましくありません。私はこれをやめる方法を知りたい。私は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) 

私の出力は、複数回同じ番号を推測するコンピュータ1であるが、それは最終的にそれを取得します。

+2

"私のPythonコードで助けが必要です"は適切なタイトルではありません*。あなたが持っている問題を説明するためにそれを修正してください。 Pythonについて言及する必要はありません。いずれかのタグはそのためのものです。 –

+2

ようこそStackOverflowへ。ヘルプドキュメントの投稿ガイドラインを読み、それに従ってください。 [最小、完全で検証可能な例](http://stackoverflow.com/help/mcve)がここに適用されます。 MCVEコードを投稿して問題を正確に記述するまで、効果的にあなたを助けることはできません。具体的には、取得した出力と目的の出力を表示します。 – Prune

答えて

0

あなたは、あなたのコンピュータ1 = randint(0、5)の後

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

を追加することができます。 GuessList = []を削除する必要があるかもしれません。毎回あなたのGuessListをリセットするからです。代わりに、コードの最初にそれを置き、append文を残す必要があります。

それとも、

computer1 = random.choice(GuessesLeft) 

GuessesLeft使用することができますは、コンピュータ1が推測されていないすべての番号のリストです。あなたが推測するたびに、そのアイテムをリストから削除するだけです。

関連する問題