Форум сайта python.su
1 и 2 функция не находят spisok_card_player хотя я его ретурню в 1 функции
from random import randint from time import sleep from typing import Dict Dict = {1:'пики\n', 2:'крести\n', 3:'черви\n', 4:'буби\n', 6:'Шесть ', 7:'Семь ', 8:'Восемь ', 9:'Девять ', 10:'Десять ', 11:'Волет ', 12:'Дама ', 13:'Король ', 14:'Туз '} spisok_coloda_card = ['6 1', '6 2', '6 3', '6 4', '7 1', '7 2', '7 3', '7 4', '8 1', '8 2', '8 3', '8 4', '9 1', '9 2', '9 3', '9 4' , '10 1', '10 2', '10 3', '10 4', '11 1', '11 2', '1 13', '11 4', '12 1', '12 2', '12 3', '12 4', '13 1', '13 2', '13 3', '13 4', '14 1', '14 2', '14 3', '14 4'] def get_cart_to_playr(): #Перемещение карты в список карт игрока spisok_card_player = [] for get_card in range(6): len_spisok_coloda_card = len(spisok_coloda_card) index_card = randint(0,len_spisok_coloda_card) Card = spisok_coloda_card(index_card) spisok_card_player.append(Card) return(spisok_card_player) def take_iz_colod(): #Удаления карт из колоды index_card = 0 for take_card in range(6): spisok_coloda_card.pop(spisok_card_playr[index_card]) index_card += 1 return(spisok_coloda_card) def take_name_card(): #Перевод карт из списка в интерфейс card_player = '' nomber_card = 1 for player_card in spisok_card_player: index_number = int(player_card.split(' ')[0]) index_mast = int(player_card.split(' ')[1]) card_player += str(nomber_card) + ' ' + Dict[index_number] + ' ' + Dict[index_mast] nomber_card += 1 return(card_player) spisok_card_playr_1 = get_cart_to_playr() spisok_coloda_card = take_iz_colod(spisok_card_playr_1) name_card_playr_1 = take_name_card(spisok_card_playr_1)
Отредактировано Merty (Янв. 17, 2022 11:35:53)
Офлайн
[code python]сюда писать код,чтобы отображался с отступами[/code]
Офлайн
вот здесь явно не то
spisok_coloda_card = take_iz_colod(spisok_card_playr_1)
def take_iz_colod(): #Удаления карт из колоды
Офлайн
MertyПравильно, и не должны. return возвращает не имя переменной, а ее значение. Так что переменная spisok_card_player изолирована в первой функции. Если хочешь что бы она была глобальной, объяви ее перед функциями.
1 и 2 функция не находят spisok_card_player хотя я его ретурню в 1 функции
Офлайн
Demsy
return возвращает не имя переменной, а ее значение
A = 2 b = 1 c = [i for i in locals().items() if i[1] == 1] print(c[0][0], c[0][1]) exec(f"{c[0][0]} = 4") print(b, type(b)) def q(test): A = 3 c = [i for i in locals().items() if i[1] == 3] d = [i for i in locals().items() if i[1] == 5] print(locals()) print(c, d) return(globals()) print(q(5)['q'].__name__)
Отредактировано AD0DE412 (Янв. 19, 2022 08:28:26)
Офлайн
Я так понял у меня просто вызовы функции криво написаны, но как это пофиксить?
Офлайн