Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nbdev-cards2022-0.1.7.tar.gz (9.4 kB view hashes)

Uploaded Source

Built Distribution

nbdev_cards2022-0.1.7-py3-none-any.whl (36.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page