On 6/11/2010 5:12 PM, Advertising Department wrote:

Please supply a meaningful subject.

#!/Library/Frameworks/Python.framework/Versions/Current/bin/pythonw
"""still thinking in imperative"
"""

## obviously this is a bad construct.


Why is it "obvious"?

What is "this"? Are you referring to the function, to the mainline program, or what?

## Can someone suggest a pythonesque way of doing this?


def getid():
    response  = raw_input('prompt')
    if response not in [ "", "y", "Y", "yes"] :
        getid()    # ouch
    print "continue working"
    # do more stuff
    # do more stuff


getid()
dosomething()
getid()
dosomethingelse()


## obviously this is a bad construct.
## Can someone give me a pythonesque way of doing this?

One improvement - response.lower().startswith("yes") will cover all your cases.

You can collect functions in a sequence, then iterate over it. This allows for easy expansion (when you decide to add another function).

funcs = (dosomething(), dosomethingelse())
for func in funcs:
  getid()
  func()

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

_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to