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

How to see if code is backwards compatible for Python?
How to print “fuzzy” time/date delta in python? [duplicate]
Increment number in string
Display gaps in dates with Python and Django
Python: How to shutdown a threaded HTTP server with persistent connections (how to kill readline() from another thread)?
New transport and reader type in Twisted
Resizing image with Python with locked aspect ratio
Single player 'pong' game
Facebook API non-interactive authorization/login
__getattr__ keeps returning None even when I attempt to return values
python foreign character in csv
How to pack python files and its dependencies in a single executable file?
Printing Variable names and contents as debugging tool; looking for emacs/Python shortcut
Cheking added file to upload python, pylons?
How to refer to the local module in Python?
Is close() necessary when using iterator on a Python file object [duplicate]

Categories

HOME
python
makefile
jdbc
semantic-ui
websphere
filterrific
blockchain
wildcard
facebook-graph-api
boost-thread
actionscript
hana
shipping
height
wicket
keystore
cartodb
cockroachdb
wordpress-theming
google-shopping
abcpdf
postmessage
datagrip
ida
factor-analysis
pyephem
google-api-java-client
nsmenuitem
switching
bus-error
interrupt-handling
cep
dpi
google-api-dotnet-client
pcre
rowcount
protobuf-net
helix-3d-toolkit
stocks
polymorphism
pljson
mapguide
large-data
boilerplate
wfp
es-shell
dql
infusionsoft
common.logging
ddms
intellij-idea-2016
bing-translator-api
g1gc
ivona
z3py
filepath
amazon-clouddrive
ideone
istorage
mcrypt
photography
addin-express
date-range
spyne
build-process
typhoon
mongoose-populate
try-finally
tuxedo
zurb-foundation-apps
spatial-query
codesign
selecteditem
concur
post-processing
asp.net-mvc-2
portfolio
plone-3.x
function-fitting
manjaro
graphical-logo
viper-architecture
findcontrol
cpan
qtestlib
grunt-contrib-concat
suffix-array
funkload
picat
jquery-tabs
nscolor
ftp4j
lame
fileconveyor
wcf-web-api
nssavepanel
tcxgrid
printing-web-page
gtk2hs
rubycas
winverifytrust
handheld
data-entry
ajaxpro
dotproject
cots

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