123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- import collections
- from random import choice
- import math
- Card = collections.namedtuple('Card', ['rank', 'suit'])
- class FrenchDeck:
- ranks = [str(n) for n in range(2, 11)] + list('JQKA')
- suits = 'spades diamonds clubs hearts'.split()
- def __init__(self) -> None:
- self._cards = [Card(rank, suit) for suit in self.suits
- for rank in self.ranks]
- def __len__(self):
- return len(self._cards)
-
- def __getitem__(self, position):
- return self._cards[position]
- def spades_high(self, card: Card):
- rank_value = self.ranks.index(card.rank)
- print(rank_value*len())
- # return rank_value
- def foo(self):
- self.suit_values = dict(spades=3, hearts=2, diamonds=1, clubs=0)
- print(self.suit_values)
-
- def card_test():
- deck = FrenchDeck()
- card = choice(deck)
- print(deck[1])
- deck.spades_high(deck[1])
- # print(len(deck))
- # print(deck[0])
- # Выбрать случайный элемент коллекции
- # print(choice(deck))
- # print(deck[12::13])
- # for card in deck:
- # print(card)
- # deck.foo()
- '''
- vector: упрощенный класс, демонстрирующий некоторые специальные методы.
- '''
- class Vector:
- def __init__(self, x=0, y=0) -> None:
- self.x = x
- self.y = y
- def __repr__(self) -> str:
- return f'Vector({self.x!r}, {self.y!r})'
- # Абсолютная величина
- def __abs__(self):
- return math.hypot(self.x, self.y)
- def __bool__(self):
- return bool(abs(self))
-
- def __add__(self, other):
- x = self.x + other.x
- y = self.y + other.y
- return Vector(x, y)
-
- def __mul__(self, scalar):
- return Vector(self.x * scalar, self.y * scalar)
- def vector_test():
- v1 = Vector(3, 4)
- v2 = Vector(1, 2)
- v3 = v1 + v2
- v4 = v3 * 2
- print(abs(v1))
- print(v3)
- print(v4)
- def main():
- vector_test()
-
- def test():
- # ranks = [str(n) for n in range(2, 11)] + list('JQKA')
- # print(ranks)
- Car = collections.namedtuple('Car', 'color mileage')
- car1 = Car('red', 150)
- print(car1.color, car1.mileage)
- print(car1._fields)
- if __name__ == '__main__':
- main()
- # test()
-
-
|