[EMAIL PROTECTED] wrote:
Send Tutor mailing list submissions to [email protected]To subscribe or unsubscribe via the World Wide Web, visit http://mail.python.org/mailman/listinfo/tutor or, via email, send a message with subject or body 'help' to [EMAIL PROTECTED] You can reach the person managing the list at [EMAIL PROTECTED] When replying, please edit your Subject line so it is more specific than "Re: Contents of Tutor digest..." Today's Topics: 1. Re: Equivalent 'case' statement (Alan Gauld) 2. Re: Equivalent 'case' statement (inhahe) 3. Reading only a few specific lines of a file (Jason Conner) 4. Re: Reading only a few specific lines of a file (John Fouhy) 5. Re: String Replacement question (Faheem) ---------------------------------------------------------------------- Message: 1 Date: Fri, 23 May 2008 00:25:23 +0100 From: "Alan Gauld" <[EMAIL PROTECTED]> Subject: Re: [Tutor] Equivalent 'case' statement To: [email protected] Message-ID: <[EMAIL PROTECTED]> Content-Type: text/plain; format=flowed; charset="iso-8859-1"; reply-type=original "Dinesh B Vadhia" <[EMAIL PROTECTED]> wroteIs there an equivalent to the C/C++ 'case' (or 'switch') statement in Python?No, just if/elif However you can often achieve similar results with a dictionary: def func1(v): return v def func2(v): return v*2 switch = { 'val1': func1, # use a function for each value 'val2': func2,'val3': lambda v: "this is three!" } # or use lambda if preferredval = raw_input("Value? (val1,val2,val3)")
Something small here. This
print switch.[val](val)
should be: print switch[val](val)
### which is equivalent to: if val == 'val1': print func1(val) elif val == 'val2': print func2(val) elif val == 'val3': print "this is three" HTH,
_______________________________________________ Tutor maillist - [email protected] http://mail.python.org/mailman/listinfo/tutor
