python


higher or lower card game in python


I need to write some code which shows a random single number/card from 1-12, the player then guesses whether the next card will be higher or lower than the first card/number. (play your cards right british game) if they guess right they get another go, if they guess wrong (they say higher or lower and it's the opposite) they lose and the game ends. if they guess four in a row right they win.
I have a very rough idea of how to go about this.
Could you please lend a hand?
import random
guessesTaken = 0
print('Hello! I am going to show you a card, guess whether the next card is higher or lower, get four in a row to win!')
number = random.randint(1, 12)
number1 = random.randint(1, 12)
number2 = random.randint(1, 12)
number3 = random.randint(1, 12)
number4 = random.randint(1, 12)
#five variables for five cards, all random cards between 1 and 12
print('Well I am thinking of a card between 1 and 12, the first number is:')
print (number) #shows them first card
while guessesTaken < 5: #limit number of guesses to make game less than 4 to win?
print('Take a guess, is the next card higher or lower? Please enter a number from 1 to 12.')
guess = input()
guess = str(guess) # limit input to "h" or "l"?
guessesTaken = guessesTaken + 1 #increment guesses taken
if guess = h and guess !> number1:
print ("you lose")
break
if guess =l and guess !< number1:
print('you lose')
if guess = h and guess !< number1:
print ("well done")
#ask about next card
if guess =l and guess !> number1:
print('well done')
#ask about next card
if guess == number1:
print ('you lose it was neither higher nor lower')
break
#basically I know the middle comparison for values higher or lower for the four cards can be done with a loop, just not sure how, very new to this.
Well, lets make your code a little more pythonic...
import random
DECK_SIZE = 5
# See that it generates 5 unique random number from 1 to 12
# (not including 13) thus simulating a deck of cards,
# where cards cannot repeat. We add a None in the end to
# indicate end of deck
deck = random.sample(range(1, 13), DECK_SIZE) + [None]
# use of the zip method to create pairs of cards to compare
# (the final card will be a None, so we can see when cards ended)
for card,next_card in zip(deck[:-1],deck[1:]):
if next_card == None: # End of deck, user won the game
print("You won")
break
# we calculate the expected correct guess
# based on the pair of cards
correct_guess = "h" if next_card > card else "l"
# We get the user input
guess = input("card is {card} is next h or l? ".format(card=card))
# We verify if user input is the expected correct guess
if guess != correct_guess:
print("You lost, card was {next_card}".format(next_card=next_card))
break
I hope you can improve your python skills by studying this code and making changes to fulfill your needs. It uses a few python idiosyncrasies that may help you get some knowledge.

Related Links

Remove whitespaces from a url in Urlpatterns (django)
Plotting columns of DataFrame as scatterplots against same y-column
PyQt help Assistant does't display qhc file content
UnicodeDecodeError trying to open a json file
barh plot fails with “ValueError: incompatible sizes: argument 'width' must be length 2 or scalar”
Flask extension not registered in app.extensions
TensorFlow - Ignore infinite values when calculating the mean of a tensor
Using %matplotlib notebook after %matplotlib inline in Jupyter Notebook doesn't work
Translate Tcl List to Python List
Selenium unable to locate element that it has already located
Wrong result in `netaddr`'s `IPRange.__contains__` (`in`) operator
How to pass any Google API service object to a deferred task in App Engine?
Getting a simple plot in Tensorboard
How to generate a float or double list using range()? [duplicate]
Should binary features be one-hot encoded?
Prepopulate ModelForm fields based on referring URL

Categories

HOME
sharepoint
visual-studio-2015
puzzle
vb6
wsdl
ncurses
raspbian
ocaml
agile
phpstorm
zend-framework2
apache2
javamail
proguard
onenote-api
height
pca
uiscrollview
activesync
uiview
simple-injector
future
equalizer
zoomcharts
derived
google-people
sensu
nmf
java-ee-7
configure
pitest
invoke-command
superscript
strophe
postgresql-9.2
threshold
geomesa
nodeclipse
swagger-editor
strstr
magiczoomplus
flex4.5
cgo
tripwire
azure-availability-set
tuleap
livescribe
rhel6
volume
jexl
iphone-developer-program
coremidi
master
manifest.mf
gameanalytics
shipitjs
post-processing
brackets-shell
retro-computing
ipojo
twython
risk-analysis
ffprobe
sparse-file
gulp-livereload
ember-cli-addons
hg-git
start-job
python-ggplot
orientation-changes
jquery-autocomplete
phpdocx
indexing-service
magic-numbers
pyjade
cgimageref
mailcore
pitch
enumerators
fileutils
nsindexpath
executable-format
integer-promotion
longjmp
web-analytics-tools

Resources

Mobile Apps Dev
Database Users
javascript
java
csharp
php
android
MS Developer
developer works
python
ios
c
html
jquery
RDBMS discuss
Cloud Virtualization
Database Dev&Adm
javascript
java
csharp
php
python
android
jquery
ruby
ios
html
Mobile App
Mobile App
Mobile App