On 05/23/2012 09:36 PM, Steven D'Aprano wrote:
Ken G. wrote:
I would like to create a Python program in the manner of an using flash card format. That is, a question is asked and you can respond according and you will be notify if you are correct or incorrect.

Is this supposed to be a graphical flashcard program?

Or something you run at the terminal, using just text? That's much simpler.


Using such format stated above, I would like to create a Blackjack program. I wish to utilize a 'cheat sheet chart' format that provide the proper response.

The chart has 10 rows across, being identified as the dealer's up card, from 2 to 10 plus Ace.

There are 23 columns indicating the player's cards being shown, such as 8 to 12, 13-16, 17+, A2 to A8 and 2,2 to A,A.

Each row and column would indicate either Hit, DD (Double), S (Stand) and SP (Split).

There's no need for the 200lb sledgehammer of a database to crack this peanut.

Your data structure looks like a table, with a mere 10*23 = 230 cells. Just use a dictionary, with keys (dealer-up-card, player-cards) and values the response:

table = {
    (2, 8): 'H',  # dealer's card is 2, player's cards add to 8
    (2, 9): 'H',
    ...
    (2, 21): 'S',
    (3, 8): 'H',
    ...
    }


A text-only flash-card test would look something like this:

import random

def flash():
    # Pick a random cell from the table.
    cell = random.choice(table.keys())
    print "The dealer shows", cell[0]
    print "Your hand is", cell[1]
    response = raw_input("What do you do? ")
    if response == table[cell]:
        print "Correct"
    else:
        print "The dealer laughs cruelly as he takes your money."



def main():
    print "Blackjack flash-card program"
    print "Type Control-C at any time to halt."
    try:
        while True:
            flash()
    except KeyboardInterrupt:
        pass


main()


Thank you Steven for saving me from database hell. LOL. Yes, it would be a text based program. I will start working on this approach today. Again, my thanks.

Ken





_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to