At 09:39 PM 9/7/2006, Danny Yoo wrote: > >> I'm looking at the last part of the main() function: > >> > >> ################# > >> def main(): > >> while True: > >> ... > >> again() > >> if again: > >> break > >> ################# > >> > >> This looks a little suspicious. What does the again() function do, and > >> is it supposed to return a value? > > > > Yes. It will return anything other than "y", "Y", etc., in answer to the > > prompt, "\n\nDo you want to do another calculation? Y/N: ". > > >Hi Dick, > >Are you sure? When you say "it will return anything other than 'y', 'Y', >what do you mean? What's the return value of again()? > > >Just from a pure pattern matching perspective, compare what you had in the >previous statements in terms of shape: > > rate = getRate() > if str(rate) in "QqXx": break > >or: > > currency = getYenOrUSD() > if currency in "QqXx": break > >versus the shape of the again block: > > again() > if again: > break > >Do you see something about the "shape" of the third block that's different >from the first two blocks? That's what I'm trying to get at: there's >something very different here. > > >Read Andrei's point 3 on again() again, and see if what he says makes >sense to you. > > http://mail.python.org/pipermail/tutor/2006-September/049105.html > >This is a point that you'll want to look at with scrutiny: even though the >program looks like it's working, suspend your belief for the moment. >*grin* > > >There's something funky happening in the control flow of the code around >this area. If you don't understand, ask for more clarification, and one >of us here will be more explicit. > >Just to be fair: what you have does work, from a purely technical >perspective. The thing is that it is not following the human intentions >that you've written into the code, and other readers will get confused >unless they stare at the code for a while.
Yes, Danny, I've taken yours and Andrei's comment about again() to heart; I see my confusion. I've revised again() and main(). See my version 2: http://www.rcblue.com/Python/yen-USD-v2.txt Is this better? I've still got to consider Andrei's instructions on the use of string formatting, the inappropriate names of some of my functions (including splitting up of printResult() into 2 functions, and probably some other points. So there will be at least a v3 to come. Dick _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor