On 2008-11-13 23:31, jzakiya wrote: > On Nov 13, 5:21 pm, Alan Baljeu <[EMAIL PROTECTED]> wrote: >> I think you should rethink your post. The first case you posted makes no >> sense in any language I know. Also, a whole lot of nested IF's is a bad >> idea in any language. In Python, you will end up with code indented 40+ >> characters if you keep going. >> >> ----- Original Message ---- >> From: jzakiya <[EMAIL PROTECTED]> >> To: [EMAIL PROTECTED] >> Sent: Thursday, November 13, 2008 5:06:53 PM >> Subject: Python IF THEN chain equivalence >> >> I'm translating a program in Python that has this IF Then chain >> >> IF x1 < limit: --- do a --- >> IF x2 < limit: --- do b --- >> IF x3 < limit: --- do c --- >> .----- >> ------ >> IF x10 < limt: --- do j --- >> THEN >> THEN >> ----- >> THEN >> THEN >> THEN >> >> In other words, as long as 'xi' is less than 'limit' keep going >> down the chain, and when 'xi' isn't less than 'limit' jump to end of >> chain a continue. >> >> Is this the equivalence in Python? >> >> IF x1 < limit: >> --- do a --- >> elif x2 < limit: >> --- do b --- >> ---- >> ---- >> elif x10 < limit: >> --- do j --- >> >> --http://mail.python.org/mailman/listinfo/python-list >> >> __________________________________________________________________ >> Ask a question on any topic and get answers from real people. Go to Yahoo! >> Answers and share what you know athttp://ca.answers.yahoo.com >> >> > > In the code the 'xi's and 'limit' are variables and the --- do letters > --- > phrases are simply writes to any array: an_array[xi]=0 > > Actually, the code makes perfectly good sense, and is a necessity of > the algorithm I'm implementing, and works perfectly good in Forth, and > can be > written quite nicely within a normal page width. > > I was just hoping I could perform the equivalent chain in Python > without > having to grossly indent the source code past the normal width of a > printed page. > But if that's the only way to do it in Python, then so be it.
You should probably consider using a function and then convert the conditions to define return points: def do_something(...args...): if x1 >= limit: return ...do a... if x2 >= limit: return ...do b... etc. That is provided I understand the flow of control in your example... it's kind of strange to have THEN mark the *end* of the then-branch in an if-then-else construct. -- Marc-Andre Lemburg eGenix.com Professional Python Services directly from the Source (#1, Nov 13 2008) >>> Python/Zope Consulting and Support ... http://www.egenix.com/ >>> mxODBC.Zope.Database.Adapter ... http://zope.egenix.com/ >>> mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/ ________________________________________________________________________ 2008-11-12: Released mxODBC Connect 0.9.3 http://python.egenix.com/ :::: Try mxODBC.Zope.DA for Windows,Linux,Solaris,MacOSX for free ! :::: eGenix.com Software, Skills and Services GmbH Pastor-Loeh-Str.48 D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg Registered at Amtsgericht Duesseldorf: HRB 46611 -- http://mail.python.org/mailman/listinfo/python-list