A test project using nbdev
Project description
nbdev_cards
A deck of cards demo of nbdev based on ideas from “Think Python 2nd Edition” by Allen B. Downey.
pip install
The nbdev-cards2022 package was uploaded to PyPI and can be easily installed using the below command.
pip install nbdev-cards2022
conda install
The nbdev-cards2022 was also uploaded to Anaconda and can be installed using the below command.
conda install -c hdocmsu nbdev-cards2022
How to use
import the card and deck modules
from nbdev_cards.card import *
from nbdev_cards.deck import *
This lib provids a
Card
class
that you can use to create, display, and compare playing cards.
Card(2,3)
3♥
display all suits
suits
['♣', '♦', '♥', '♠']
display all ranks
ranks
[None, 'A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K']
Deck
class can
be called to generate a deck of playing card. Initially, the deck is
ordered.
deck = Deck()
deck
A♣; 2♣; 3♣; 4♣; 5♣; 6♣; 7♣; 8♣; 9♣; 10♣; J♣; Q♣; K♣; A♦; 2♦; 3♦; 4♦; 5♦; 6♦; 7♦; 8♦; 9♦; 10♦; J♦; Q♦; K♦; A♥; 2♥; 3♥; 4♥; 5♥; 6♥; 7♥; 8♥; 9♥; 10♥; J♥; Q♥; K♥; A♠; 2♠; 3♠; 4♠; 5♠; 6♠; 7♠; 8♠; 9♠; 10♠; J♠; Q♠; K♠
shuffle()
method could be used to shuffle the deck.
deck.shuffle()
deck
Q♥; 6♥; 4♥; Q♣; 8♥; K♣; A♦; Q♠; 7♠; 5♦; J♣; J♥; 6♠; A♣; 9♥; 9♣; J♠; A♠; 10♥; 3♥; 7♦; K♠; 4♠; 2♦; 5♠; K♦; 10♣; 5♣; 4♦; 8♣; 7♣; 10♠; Q♦; K♥; A♥; 7♥; 6♦; 3♠; 3♦; 9♦; 4♣; 6♣; 3♣; 8♦; 5♥; 9♠; 10♦; 2♠; J♦; 8♠; 2♥; 2♣
draw_n()
function can be used to draw n card with or without
replacement.
let’s draw 10 cards with replacement.
draw_n(10, replace=True)
[10♦, 3♣, 6♦, Q♦, 3♥, K♠, 4♣, K♣, 3♣, 2♦]
now let’s draw 10 cards without replacement.
draw_n(10, replace=False)
[Q♣, A♥, A♦, J♦, 2♦, 5♠, 8♦, J♥, 5♣, 3♠]
Example: One can draw two sets of cards each set contains four cards and compare to see which one has higher rank.
Developer install
If you want to develop nbdev_cards yourself, please use an editable installation of nbdev_cards.
git clone https://github.com/hdocmsu/nbdev_cards.git
pip install -e "nbdev_cards[dev]"
You also need to use an editable installation of nbdev, fastcore, and excnb.
Happy Coding!!!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file nbdev-cards2022-0.1.7.tar.gz
.
File metadata
- Download URL: nbdev-cards2022-0.1.7.tar.gz
- Upload date:
- Size: 9.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.11.3 pkginfo/1.8.2 requests/2.28.1 requests-toolbelt/0.8.0 tqdm/4.64.0 CPython/3.8.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 42c060ba4bc8cecaebc818fce80592b9a64652a874a0924a1651d4ecb8ecaa97 |
|
MD5 | e96ef427df55a2979d2a8b950ea3df27 |
|
BLAKE2b-256 | d025a2b9eea0cf19f9a1c5461d56aa705f799c2ee03bf599c7c42411bc309eb8 |
File details
Details for the file nbdev_cards2022-0.1.7-py3-none-any.whl
.
File metadata
- Download URL: nbdev_cards2022-0.1.7-py3-none-any.whl
- Upload date:
- Size: 36.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.11.3 pkginfo/1.8.2 requests/2.28.1 requests-toolbelt/0.8.0 tqdm/4.64.0 CPython/3.8.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1e4e4e0afddb24ea9702ae0db34ef4e2837fa1e282125e18ce98c1aa38feedb8 |
|
MD5 | 8440a99f9b2e3d4b976df13ba3c5c178 |
|
BLAKE2b-256 | 93dd26b6afc0ba195400b19ac66a37b772d7d2fcebebca4493b63642d16c2c62 |