John Connors said unto the world upon 22/02/06 05:43 AM:
> G'day,
> 
> With my only programming experience being C-64 Basic I'm finding that I 
> struggle a bit understanding some of the concepts of Python, I wish I 
> could block basic right out of my brain.
> 
> One of the things I can't get a grasp of is how to repeat a routine many 
> times. For example a simple dice game where 6 dice are rolled, any that 
> come up as 1 are kept, you keep rolling the dice until a 1 is not rolled.
> 
> A program to do that would need to generate a random number between 1 
> and 6 many times. In basic I would have made a sub routine for the 
> random number. Only way I can think of to do it in python is to have a 
> seperate script.
> 
> And at the end of the game I might want to play again and it would be 
> nice to have something like - Play dice game again (y/n). I'm not sure 
> how to run the program again other then re-loading it.
> 
> I know goto and gosub are evil, bad habits but I'm starting to miss them.
> 
> John


Hi John,

I came to python with only some ill-recalled BASIC, and I also 
(initially) missed goto, etc. You'll get over it :-)

See if the examples below give you a push. (I've purposely chosen ones 
silent on the die-rolling logic.)

 >>> def doit():
        print "Working!"

        
 >>> for i in range(6):
        doit()

        
Working!
Working!
Working!
Working!
Working!
Working!
 >>>

That is a minimal way to define some action and do it repeatedly. You 
will also need to return some value for your use case. So consider:

 >>> def getit():
        val = raw_input("Gimme!\n")
        return val

 >>> vals = []
 >>> for i in range(3):
        vals.append(getit())

        
Gimme!
righty'oh
Gimme!
I did
Gimme!
OK
 >>> vals
["righty'oh", 'I did', 'OK']
 >>>

HTH,

Brian vdB
_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to