Помогите с кодом на Python
123456789101112
def card_deck(suit):
my_list = ['2', '3', '4', '5', '6', '7', '8', '9', '10', 'валет', 'дама', 'король', 'туз']
my_list1 = ['пик', 'треф', 'бубен', 'червей']
my_list1.remove(suit)
for i in my_list:
yield f'{i} {}'
s = card_deck('треф')
for i in s:
print(i)
По условию задачи нужно выписать сначала масть , потом все значения из list , и так до конца с уловием , что есть некое слово которое не должно выводится , и ещё нужно вернуть генератор , вопрос как это сделать с 1 циклом а не с двумя?
По дате
По Рейтингу
тут два генераторных выражения для масти и значений
1234567891011
def card_deck(suit):
my_list = ['2', '3', '4', '5', '6', '7', '8', '9', '10', 'валет', 'дама', 'король', 'туз']
my_list1 = ['пик', 'треф', 'бубен', 'червей']
return ((f'{i} {value}' for value in my_list if i != suit) for i in my_list1)
s = card_deck('треф')
for i in s:
for j in i:
print(j)
или с либой
123456789101112
from itertools import product
def card_deck(suit):
my_list = ['2', '3', '4', '5', '6', '7', '8', '9', '10', 'валет', 'дама', 'король', 'туз']
my_list1 = ['пик', 'треф', 'бубен', 'червей']
return (f'{i} {value}' for i, value in product(my_list1, my_list) if i != suit)
s = card_deck('треф')
for i in s:
print(i)
for i in range(1):
какой же у питона все таки синтаксис нечитаемый
Больше по теме