Я пытаюсь создать программу для карточных игр.
До сих пор я создал массив под названием «колода», состоящий из 30 карт с номерами от 1 до 30, каждой из которых был присвоен цвет «КРАСНЫЙ». , «ЧЕРНЫЙ» или «ЖЕЛТЫЙ»
Моя задача состоит в том, чтобы первый игрок взял первую карту колоды, а второй игрок - вторую карту колоды последовательно, пока не останется больше карт. в массиве 'deck'
Так что я подумал, что лучший способ сделать это для player1 - получить все четное число индексов из колоды (0,2,4,6 ... 28) идля player2, чтобы получить каждое нечетное количество индексов из колоды (1,3,5,7 ... 29)
Какой лучший способ сделать это?
Я пыталсяиспользовать встроенный метод фильтра для получения четных или нечетных индексов, но я чувствую, что это неправильно
import random
colours = ['RED','BLACK','YELLOW']
deck = [(random.randint(1,31),random.choice(colours)) for _ in range(30)]
deck = random.shuffle(deck)
print(deck)
def Player1_Cards(deck):
Player1_Cards = list(filter(deck[::2]))
return Player1_Cards
def Player2_Cards(deck):
Player2_Cards = list(filter(deck[::1]))
return Player2_Cards
print(Player1_Cards(deck))
print(Player2_Cards(deck))
#The output is "'NoneType' object is not subscriptable"