2017-02-23 1 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) 

제 출력물은 같은 번호를 두 번 이상 추측하는 컴퓨터 1이지만 결국에는 가져옵니다. 당신의 컴퓨터 1 = randint 후

+2

"내 파이썬 코드에서 도움이 필요합니다"는 적절한 제목이 아닙니다 *. 당신이 가진 문제를 설명하기 위해 그것을 고쳐주세요. 파이썬을 언급 할 필요도 없으며, 태그가 필요한 것입니다. –

+2

StackOverflow에 오신 것을 환영합니다. 도움말 설명서의 게시 지침을 읽고 따르십시오. [최소한의 완전하고 검증 가능한 예제] (http://stackoverflow.com/help/mcve)가 여기에 적용됩니다. MCVE 코드를 게시하고 문제를 정확하게 설명하기 전까지는 효과적으로 당신을 도울 수 없습니다. 구체적으로, 사용자가 얻은 출력과 원하는 출력을 표시하십시오. – Prune

답변

0

당신은 단지 추가 할 수

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

(0, 5). GuessList = []를 제거해야 할 수도 있습니다. 왜냐하면 매번 GuessList가 재설정되기 때문입니다. 대신 코드의 맨 처음에 추가 작업을해야합니다.

아니면

computer1 = random.choice(GuessesLeft) 

GuessesLeft 사용할 수는 1 컴퓨터 짐작하지 않은 모든 숫자의 목록입니다. 추측을 할 때마다 목록에서 해당 항목을 삭제하십시오.

관련 문제