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

Github scraping for all javascript files
How to use python pbr to generate changelogs?
Pandas dataframe column averaging [duplicate]
Parsing text file after certain word
How to create custom model fields in django, and how does it works
'UnboundLocalError: local variable 'lower' referenced before assignment'
How to save the result of a button's command in tkinter?
I'm lost and confused! regarding functions and scope of returned objects. Why is the object returned from the first function changed?
How to remove quotes and brackets from a dict that has two keys to one value in a jinja template?
I am looking at each individual date in a Pandas dataframe and adjusting one column (weight), based on condition on another column for each date
For loop in Python working, but not doing it's job
Python error 'int' object has no attribute 'penup' (python turtle)
custome user serializer giving error on is_valid() - django
Dividing a graph into 2 disconnected subgraphs
use boto3 on GAE for Python
boto command for describing an Auto Scaling Group?

Categories

HOME
vue.js
jenkins-plugins
openssl
npm
puzzle
cpu-architecture
qpython3
parse-server
phpstorm
is-empty
rfc
laravel-4
tumblr
jpanel
powershell-v3.0
jboss-eap-7
google-shopping
activesync
medium-editor
riak-ts
ios10.3
clover
kadanes-algorithm
tweets
jconsole
nmake
prediction
spring-ws
pipelinedb
image-quality
web-frontend
winscp
svnkit
read-write
xen
pmwiki
socketpair
android-download-manager
parse-android-sdk
installshield-2012
lexical-analysis
exiftool
distributed-transactions
html-agility-pack
worker
openweathermap
component-pascal
slot
emoticons
addin-express
ebtables
easing
tomcat5
gradle-eclipse
elastix
search-regex
group-concat
flexjson
altbeacon
approval-tests
data-import
evo
qbfc
sevenzipsharp
mogrify
robocode
sysfs
magento-1.12
python-ggplot
formvalidation-plugin
mov
outline
proxies
map-force
factors
trimming
objcmongodb
android-contextmenu
dynamic-data
pys60
android-4.0
moq-3
getusermedia
throttling
ou
galaxy-tab
collect
dashcode
savestate
filetime
graph-layout
scatterview
act
lazy-c++
hmacsha1
hardware-infrastructure

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