«Если» в моем коде, кажется, работает неправильно - PullRequest
0 голосов
/ 12 октября 2019

Я только изучаю Python и решил попробовать немного кода, напоминающего старую игру Milton Bradley 'Simon'. Это игра с памятью с четырьмя цветными кнопками. Я использую цифры 1-4. Я застрял в тот момент, когда утверждение «если» решает, является ли мой ответ правильным или нет. Я проходил через это довольно много времени, и я не могу понять, почему это переходит к вам, LOSE, когда ответ правильный. Например:

Start game?: Y 
[4, 1, 4, 2, 4] 
Pick: 4 
Pick: 1
Pick: 4
Pick: 2
you LOSE
Pick: 4

Process finished with exit code 0

import random
START=input('Start game?: ')
length_of_game=5
Simon_List=[] 
if START == 'Y':
    i=0
    while i<length_of_game:
        i += 1
        number=random.randint(1,4)
        Simon_List.append (number)
    print (Simon_List)    
    for x in Simon_List:
        #print (x)
        Your_guess=int(input('Pick: '))
        if Your_guess == Simon_List[x]:
            break
    print('you LOSE')

1 Ответ

0 голосов
/ 12 октября 2019

Simon_List[x] не делает то, что, по вашему мнению, делает, использует значение каждого элемента в списке, а затем вы используете его для поиска значения в списке по указанному индексу (поэтому первая итерациябудет искать значение в индексе 4 в примере), вам просто нужно сравнить против x

if Your_guess == x:
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...