From 62e6cb1e79e49508b2810880a9349cfbc1b87b92 Mon Sep 17 00:00:00 2001 From: vonzhou Date: Tue, 5 Aug 2025 20:06:20 +0800 Subject: [PATCH] 1 --- 01-data-model/frenchdeck.py | 11 +++++++++++ 01-data-model/vector2d.py | 10 ++++++++++ 2 files changed, 21 insertions(+) diff --git a/01-data-model/frenchdeck.py b/01-data-model/frenchdeck.py index 47a0d05..e503644 100644 --- a/01-data-model/frenchdeck.py +++ b/01-data-model/frenchdeck.py @@ -1,4 +1,5 @@ import collections +from random import choice Card = collections.namedtuple('Card', ['rank', 'suit']) @@ -15,3 +16,13 @@ def __len__(self): def __getitem__(self, position): return self._cards[position] + +if __name__ == '__main__': + beer_card = Card('7', 'diamonds') + print(beer_card) + + + deck = FrenchDeck() + print(len(deck)) + print(deck[0]) + print(choice(deck)) \ No newline at end of file diff --git a/01-data-model/vector2d.py b/01-data-model/vector2d.py index 178f498..8ea2b4d 100644 --- a/01-data-model/vector2d.py +++ b/01-data-model/vector2d.py @@ -1,11 +1,13 @@ from math import hypot + class Vector: def __init__(self, x=0, y=0): self.x = x self.y = y + """类似 java 的 toString 方法""" def __repr__(self): return 'Vector(%r, %r)' % (self.x, self.y) @@ -20,5 +22,13 @@ def __add__(self, other): y = self.y + other.y return Vector(x, y) + + """标量乘法?""" def __mul__(self, scalar): return Vector(self.x * scalar, self.y * scalar) + + +if __name__ == '__main__': + v1 = Vector(2, 4) + v2 = Vector(2, 1) + print(v1 + v2)