diff --git a/01-data-model/frenchdeck.py b/01-data-model/frenchdeck.py index 47a0d05..600647f 100644 --- a/01-data-model/frenchdeck.py +++ b/01-data-model/frenchdeck.py @@ -15,3 +15,31 @@ def __len__(self): def __getitem__(self, position): return self._cards[position] + +deck = FrenchDeck() + +print(deck[-1]) + +# from random import choice + +# print(choice(deck)) + +# print(len(deck)) + +for card in reversed(deck): + print(card) + +suit_values = dict(spades=3, hearts=2, diamonds=1, clubs=0) + +def spades_high(card): + rank_value = FrenchDeck.ranks.index(card.rank) + return rank_value * len(suit_values) + suit_values[card.suit] + +for card in sorted(deck, key = spades_high): + print(card) + +# cardlist = [card for card in deck if card.rank == '3'] +# spades_high(cardlist) + +card1 = Card('4', 'hearts') +print(spades_high(card1)) \ No newline at end of file diff --git a/01-data-model/mytests.py b/01-data-model/mytests.py new file mode 100644 index 0000000..acd8c1e --- /dev/null +++ b/01-data-model/mytests.py @@ -0,0 +1,11 @@ +def lenbyo(x): + if x.count("o") == 0: + ln = 0 + else: + ln = len(x)/x.count("o") + return ln + + +print(list(map(lenbyo, ["cos","wodnik","kolorowanka", "kiermasz"]))) + +print(list(map(sum,zip([1,2,3],[5,3,2])))) \ No newline at end of file diff --git a/01-data-model/vector2d.py b/01-data-model/vector2d.py index 178f498..3a61755 100644 --- a/01-data-model/vector2d.py +++ b/01-data-model/vector2d.py @@ -7,7 +7,8 @@ def __init__(self, x=0, y=0): self.y = y def __repr__(self): - return 'Vector(%r, %r)' % (self.x, self.y) + #return 'Vector(%r, %r)' % (self.x, self.y) + return 'Vector({}, {})'.format(self.x,self.y) def __abs__(self): return hypot(self.x, self.y) @@ -16,9 +17,53 @@ def __bool__(self): return bool(abs(self)) def __add__(self, other): - x = self.x + other.x - y = self.y + other.y + 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 __mul__(self, other): + return Vector(self.x * other.x, self.y * other.y) + + +def mypow(x,y): + n = 1 + for i in range(y): + n=x*n + return n + +print(mypow(2,4)) + +v1 = Vector(1,5) +v2 = Vector(3,8) +v3 = Vector(2,2) + + +print(v1 * v2 * v3) +print(v1 + v2) +print(v1) + +s = 'rabarbar' +print(s.count('r')) + +x = 1 +while x <= 1000: + x *= 2 + print(x) + +x = "okok" +y = "okok" + +if x is y: + print("ok") + +def lenbyo(x): + if x.count("o") == 0: + ln = 0 + else: + ln = len(x)/x.count("o") + return ln + + +print(list(map(lenbyo, ["cos","wodnik","kolorowanka", "kiermasz"]))) + +print(list(map(sum,zip([1,2,3],[5,3,2])))) \ No newline at end of file