Re: if .. elif:
[email protected] (Jeremy Hylton) Sun, 14 Apr 2002 00:09:53 -0400
| Newsgroups | gmane.comp.python.compiler |
|---|---|
| Message-ID | <[email protected]> |
>>>>> "FB" == Finn Bock <[email protected]> writes: FB> Hi Maybe I'm missing something, but I think the If() constructor FB> is a bit too simple to handle a list of 'elif:' parts. FB> If(expr test, stmt* body, stmt* orelse) I was expecting to encode 'elif' parts as a series of new If() constructors in the orelse slot. if x == 1: print 1 elif x == 2: print 2 else: print 3 If(Compare(Lvalue(Name(x)), Num("1")), [Print(NULL, [Num("1")], False)], [If(Compare(Lvalue(Name(x)), Num("2")), [Print(NULL, [Num("2")], False)], [Print(NULL, [Num("3")], False)])]) Does that make sense? (And, yuck, the Lvalue is a pain.) Jeremy