[Tutor] paper scissors

bob gailer bgailer at gmail.com
Fri Sep 23 21:02:44 CEST 2011


On 9/23/2011 2:04 PM, Joseph Shakespeare wrote:
> Wow, thanks so much! This is amazing!
> One question though. I understand everything in the program except 
> these 2 lines:
>
> Wins: %s
> Loses:%s""" % (wins,loses)
>
> There are 2 things I don't understand.
> 1. the %s
> 2. the (wins,loses)
>
> Any explanation you have would be helpful.
> Thanks for taking the time to help the newbie!
>
> Joey
>
>
>
> On Thu, Sep 22, 2011 at 6:35 PM, bob gailer <bgailer at gmail.com 
> <mailto:bgailer at gmail.com>> wrote:
>
>     On 9/22/2011 1:04 PM, Joseph Shakespeare wrote:
>
>         Hello,
>
>
>     Hi - please use a meaningful subject line - I've changed it this time
>
>
>         I am new Python (about 2 weeks) and need some help. I am
>         making a rock paper scissors game that a user can play with
>         the computer by using a while loop and if elif else
>         statements. It needs to keep score of the amount of losses and
>         wins, and give the user the option to play again after each
>         round. I've tried so many different options and I don't know
>         what else to try. My problem is making the program loop back
>         around when the user selects y(yes) to play again and defining
>         the variables at the beginning. Here's my program:
>
>     I've taken the liberty to extensively edit (and simplify) your
>     program. Cut 60 lines to 34. Study it - there are a lot of useful
>     ideas in it. Feel free to ask questions.
>
>     The following 3 llnes will NOT get you what you want. You appear
>     to be confusing variable names with strings.
>
>         y="something"
>         play=y
>         while play==y:
>
>
>     The while condition is not true - the program will not run.
>
>     The proper initialization is:
>
>     play = "y"
>
>     However I've eliminated the need for even that.
>
>     import random
>     # Use a triple-quoted string rather than a bunch of print statements.
>     print """Welcome to Rock,Paper, Scissors! This is a game of chance.
>     The computer randomly picks one of three throws.
>     Rock beats Scissors, but is beaten by Paper.
>     Scissors beat Paper, but are beaten by Rock.
>     Paper beats Rock, but is beaten by Scissors.
>     You enter:
>     r for Rock
>     s for Scissors
>     p for Paper
>     q to Quit'"""
>     wins = loses = 0
>     while True: # "endless" loop - exited by break statement
>        player = raw_input("Please pick your throw: (r, s, p, or q ):")
>        if player == "q":
>            break # exits the loop
>        elif player not in "rps": # check for valid entry
>            print "Invalid entry"
>        else:
>            computer= random.choice("rsp") # no need for a list - a
>     string is a sequence
>            print "Computer throw:", computer
>            if player == computer: # testing various conditiions cam be
>     greatly simplified
>                print "Tie! Throw again."
>            elif player + computer in ["rs", "sp", "pr"]:
>                print "You win! " + player + " beats " + computer
>                wins += 1 # simpler than wins = wins + 1
>            else:
>                print "You lose! " + computer + " beats " + player
>                loses +=1
>            print """Game Summary
>     Wins: %s
>     Loses:" %s""" % (wins,loses) # using % formatting and triple
>     quoted string
>     print"Thanks for playing!"
>
>
>     -- Bob Gailer 919-636-4239 <tel:919-636-4239> Chapel Hill NC
>
>


-- 
Bob Gailer
919-636-4239
Chapel Hill NC

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20110923/cea73a1c/attachment.html>


More information about the Tutor mailing list