Size: a a a

Сообщество Python Программистов

2020 February 26

VB

Vladislav Bushmeniov in Сообщество Python Программистов
class PyramideCard():
 
   card_ranks = ['A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'B', 'D', 'K']  
   card_suits = ['♠️', '♥️', '♦️', '♣️']
   
   card_values={}
   for index in range(len(card_ranks)):
       card_values[card_ranks[index]]=index+1

   #card_values = {card_ranks[index]:
   #                        index+1 for index in range(len(card_ranks))}
источник

VB

Vladislav Bushmeniov in Сообщество Python Программистов
class PyramideCard():
 
   card_ranks = ['A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'B', 'D', 'K']  
   card_suits = ['♠️', '♥️', '♦️', '♣️']

   

   card_values = {card_ranks[index]:
                           index+1 for index in range(len(card_ranks))}
источник

VB

Vladislav Bushmeniov in Сообщество Python Программистов
почему 2 код дает ошибку , что cardranks is not defined
источник

VB

Vladislav Bushmeniov in Сообщество Python Программистов
ведь по сути это тоже самое , что и 1 - только генератором
источник

NK

ID:970680730 in Сообщество Python Программистов
В классе разве можно без init так объявлять?
источник

VB

Vladislav Bushmeniov in Сообщество Python Программистов
да
источник

VB

Vladislav Bushmeniov in Сообщество Python Программистов
это атрибуты класса
источник

GS

Genri Spayer in Сообщество Python Программистов
ID:970680730
В классе разве можно без init так объявлять?
да.....

инит - это свойства объекта
источник

VB

Vladislav Bushmeniov in Сообщество Python Программистов
мне нужно что бы ими пользовались все эго экземпляры . если я обьявлю в init , то оно будет создаваться много раз не оправдано
источник

VB

Vladislav Bushmeniov in Сообщество Python Программистов
вопрос почему в генераторе она не видит переменной
источник

GS

Genri Spayer in Сообщество Python Программистов
Vladislav Bushmeniov
почему 2 код дает ошибку , что cardranks is not defined
PyramideCard.card_ranks()
источник

GS

Genri Spayer in Сообщество Python Программистов
по идее
источник

AT

Alexander T in Сообщество Python Программистов
class PyramideCard():
   card_ranks = ['A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'B', 'D', 'K']  
   card_suits = ['♠️', '♥️', '♦️', '♣️']

   card_values = {
    k: i for i, k in enumerate(card_ranks, 1)
   }
   print(card_values)
источник

AT

Alexander T in Сообщество Python Программистов
Только тут класс не нужен в такой форме
источник

IK

Ivan Karniyenka in Сообщество Python Программистов
Alexander T
class PyramideCard():
   card_ranks = ['A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'B', 'D', 'K']  
   card_suits = ['♠️', '♥️', '♦️', '♣️']

   card_values = {
    k: i for i, k in enumerate(card_ranks, 1)
   }
   print(card_values)
+
источник

VB

Vladislav Bushmeniov in Сообщество Python Программистов
Genri Spayer
PyramideCard.card_ranks()
name 'PyramideCard' is not defined будет такое
источник

VB

Vladislav Bushmeniov in Сообщество Python Программистов
Alexander T
Только тут класс не нужен в такой форме
спасибо за хорошее решение . А в чем все-таки там проблема ?
источник

AT

Alexander T in Сообщество Python Программистов
Vladislav Bushmeniov
спасибо за хорошее решение . А в чем все-таки там проблема ?
Хз, не хочу разбираться, потому что писать исполняемый код на верхнем уровне класса такая себе идея, а функцией с аргументами все будет нормально работать.
источник

AT

Alexander T in Сообщество Python Программистов
Задача правда непонятна)
источник

b

bbclub in Сообщество Python Программистов
Alexander T
class PyramideCard():
   card_ranks = ['A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'B', 'D', 'K']  
   card_suits = ['♠️', '♥️', '♦️', '♣️']

   card_values = {
    k: i for i, k in enumerate(card_ranks, 1)
   }
   print(card_values)
namedtuple хорошо здесь подойдет
методы не нужны
источник