Các cards chơi bài
Nhiều games, như poker, blackjack, và solitaire sử dụng cards chơi bài. Mô hình hóa các cards chơi bài cung cấp
một minh họa tốt về thiết kế các classes hợp tác. Một bộ tiêu chuẩn các cards có 52 lá. Có 4 bộ spades, hearts,
diamonds, và clubs. Mỗi bộ chứa 13 cards. Mỗi card cũng có một rank, cái là một số sử dụng để xắp sếp các cards
và quyết định số đếm trong một tay. Các số literal là 2 qua 10. Một ace được đếm như số 1 hay một vài số khác,
phụ thuộc vào game đang chơi. Face cards, jack, queen và king thường được đếm như 11, 12, và 13, tương ứng.
Một Card class và một Deck class sẽ là các tài nguyên hữu dụng cho chương trình chơi bài. Một Card object có 2
thuộc tính thực thể, một rank và một suit. Card class có 2 thuộc tính class, một tập tất cả các suits và một tập
tất cả các rank. Bạn có thể trình bày 2 tập các thuộc tính này như các biến thực thể và biến class trong Card class.
Vì các thuộc tính chỉ được truy cập và không bao giờ bị điều chỉnh, chúng ta không bao gồm bất cứ phương thức nào
ngoài phương thức __str__ cho trình bày string. Phương thức __init__ mong đợi một rank số nguyên và một suit string
như các đối số và trả về một card mới với rank và suit đó. Phiên làm việc tiếp theo thể hiện sử dụng Card class:
>>> threeOfSpades = Card(3, “Spades”)
>>> jackOfSpades = Card(11, “Spades”)
>>> print(jackOfSpades)
Jack of Spades
>>> threeOfSpades.rank < jackOfSpades.rank
True
>>> print(jackOfSpades.rank, jackOfSpades.suit)
11 Spades
Chú ý rằng bạn có thể trực tiếp truy cập rank và suit của một Card object bằng cách sử dụng một dấu chấm theo
sau bới các tên biến thực thể. Một card nhiều hơn một chút một cái chứa 2 giá trị dữ liệu. Sau đây là code cho
Card class:

