Как получить конкретный номер из списка? - PullRequest
0 голосов
/ 28 апреля 2019

Я хочу рандомизировать слова в списке, и если рандомизированное слово приравнивается к ножницам, я хочу, чтобы игра сообщила мне, что я выиграл, но я не могу найти решение, не могли бы вы сказать мне, где я поступил неправильно?

Я пытался "if 3 in my_list:", но все еще не могу найти решение

import random

my_list = ["rock", "paper", "scissor"]
random.choice(my_list)
print(random.choice(my_list))

if random.choice(my_list) == my_list[3]:
    print("You Won!")
else:
    print("You Lost!")

Я хочу напечатать «Вы выиграли», когда в списке random.choice есть ножницы.

1 Ответ

0 голосов
/ 28 апреля 2019

Вы должны получить эту ошибку IndexError: индекс списка вне диапазона потому что my_list имеют всего 3 элемента,

my_list [0] -> "рок"

my_list [1] -> "бумага"

my_list [2] - "ножницы"

поэтому результат random.choice из my_list всегда будет my_list[0] или my_list[1] или my_list[2]

В этой строке if random.choice(my_list) == my_list[3]: проверяется, равно ли random.choice() значение my_list[3], но в третьей позиции списка нет элемента.

«ножничное» положение в my_list[2]. так что это должно работать,

import random
my_list = ["rock", "paper", "scissor"]
rand_item = random.choice(my_list)

if rand_item == my_list[2]:
    print("You Won!")
else:
    print("You Lost!")
...