Chad Everett wrote: > Hi Everyone, > > I am new to Python and programming in general. I bought the book "Python > Programming for the Absolute Beginner" by michael Dawson. > > I have been working through it but am having trouble. > I am trying to make a coin flip program and keep geting a Synax Error > "invalid syntax". > > If anyone has a moment could you please look at it and tell me what I am > doing wrong. > > thanks for your time and patience. > > Chad > > # Coin Flip Program > # This program flips a coin 100 times and tells the number of heads and > tails.
Oh, no, it doesn't! Once you fix the few things that stop it from running at all, it will flip the coin ONCE and tell you the one then-fixed answer *99* times. > # Chad Everett 2/3/2005 > > > print "\t\t********Coin Flip Game*********\n" > import random > > # heads = 1 > # tails = 2 > > tries = random.randrange(2) + 1 Better move the above line _after_ the "while" statement. > count = 1 Try 0; think about it this way: you are counting the number of times something has happened, and you want to stop after 100 somethings have happened. At this stage you ain't hatched no chickens :) > You also need to initialise the 'heads' and 'tails' counters. > while count != 100: Defensive programming hint #1: while count <= 100, if starting at 1; < 100 if starting from 0 Tip: Python takes the drudgery out of programming. Less typing, less scope for error. To do something 100 times: !for count in range(100): ! do_something() > if tries == 1: > heads = 1 I think you meant: !heads += 1 > count += 1 Do this in only one place; it doesn't/shouldn't depend on the coin toss result. > > else tries == 2: # I AM GETTING THE SYNTAX ERROR HERE > tails = 1 and !tails += 1 > count += 1 > Others have answered your syntax error question; I'll just round off with Defensive Programming hint #2: Get into this habit early: !if tries == 1: ! blah_blah() !elif tries == 2: ! yadda_yadda() !else: ! raise Exception, "Can't happen :-) tries has unexpected value (%r)" % tries > print "heads: " + heads Ugh; did you get that out of the book? Try: !print "heads:", heads > print "tails: " + tails > > raw_input("Press enter to quit") HTH, John -- http://mail.python.org/mailman/listinfo/python-list