Найти - Пользователи
Полная версия: Проблема с функциями
Начало » Python для новичков » Проблема с функциями
1
Merty
При вызове 2 или 3 функции питон выдает ошибку TypeError: take_iz_colod() takes 0 positional arguments but 1 was given
 from random import randint
from time import sleep
from typing import Dict
spisok_card_player_1 = []
spisok_card_player = []
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_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_player[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_player_1 = get_cart_to_player()
spisok_coloda_card = take_iz_colod(spisok_card_player_1)
name_card_playr_1 = take_name_card(spisok_card_player_1)
print(spisok_card_player_1)
doza_and
Merty
При вызове 2 или 3 функции
Это называется второй и третьей. а не “или”. Поскольку ошибка будет на каждом из вызовов.
Чтобы код работал надо предусматривать передачу аргументов
 def take_name_card(): # неправильно
    ......
def take_name_card(x): # правильно
    ......
name_card_playr_1 = take_name_card(spisok_card_player_1)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB