Переменная в классе хранит одно и тоже значение Python

Переменная с рандомным числом в классе хранит одно и то же при вызове метода класса. Как это решить?

Вот участок кода:

class User: 
    def __init__(self, carts_List, your_cart_list):
        self.carts_List = carts_List #Атрибут который выводит список карт с колоды
        self.your_cart_list = your_cart_list #Атрибут который выводит список карт пользователя

    #Метод отвечающий за роздачу карт игрокам
    def give_cards(self):
        while True:
            random1 = randint(0, len(self.carts_List) - 1)
            random2 = randint(0, len(self.carts_List[random1]) - 1)

            self.your_cart_list.append(self.carts_List[random1][random2])
            self.carts_List[random1].pop(random2)
            if len(self.your_cart_list) == 6:
                break
            else:
                pass

Ответы (1 шт):

Автор решения: S. Nick

Не уверен, что правильно вас понял, но попробуйте:

from random import randint

class User: 
    def __init__(self, carts_List, your_cart_list):
        self.carts_List = carts_List         
        self.your_cart_list = your_cart_list 

    #Метод отвечающий за роздачу карт игрокам
    def give_cards(self):
        while True:
            random1 = randint(0, len(self.carts_List) - 1)
            self.your_cart_list.append(self.carts_List[random1])
            self.carts_List.pop(random1)

            if len(self.your_cart_list) == 6:
                return self.carts_List


carts_List = [
    'p6', 'p7', 'p8', 'p9', 'p10', 'p11', 'p12', 'p13', 'p14',
    't6', 't7', 't8', 't9', 't10', 't11', 't12', 't13', 't14',    
    'b6', 'b7', 'b8', 'b9', 'b10', 'b11', 'b12', 'b13', 'b14',    
    'c6', 'c7', 'c8', 'c9', 'c10', 'c11', 'c12', 'c13', 'c14',    
]


user1 = User(carts_List, [])
carts_List = user1.give_cards()
print('user1: ', user1.your_cart_list)

user2 = User(carts_List, [])
carts_List = user2.give_cards()
print('user2: ', user2.your_cart_list)

user3 = User(carts_List, [])
carts_List = user3.give_cards()
print('user3: ', user3.your_cart_list)

user4 = User(carts_List, [])
carts_List = user4.give_cards()
print('user4: ', user4.your_cart_list)

print('колода: ', carts_List)
→ Ссылка