Source:
#!/bin/env python # coding=gb2312 # -*- coding: gb2312 -*- from __future__ import division #### if-else #### print '#### if-else ####' a = input("a: ") # 12 or 10+2 b = input("b: ") if(a>b): print "max: ", a else: print "max: ", b #### if-elif-else #### print '#### if-elif-else ####' score = raw_input("score: ") # string score = int(score) if(score>=90) and (score<=100): print "A" elif(score>=80 and score<90): print "B" elif(score>=60 and score<80): print "C" else: print "D" #### switch I #### print '#### switch ####' x = 1 y = 2 operator = "/" result = { "+": x+y, "-": x-y, "*": x*y, "/": x/y } print result.get(operator) #### switch II #### print '#### switch II ####' class switch(object): def __init__(self, value): # init value self.value = value self.fall = False # no break, then fall=False def __iter__(self): yield self.match # match method to create raise StopIteration # exception to check loop def match(self, *args): if self.fall or not args: return True elif self.value in args: # successful self.fall = True return True else: # fail return False operator = "+" x = 1 y = 2 for case in switch(operator): if case('+'): print x+y break if case('-'): print x-y break if case('*'): print x*y break if case('/'): print x/y break if case(): print 'NULL'
Result:
[work@db-testing-com06-vm3.db01.baidu.com python]$ python if_else.py
#### if-else ####
a: 12 + 8
b: 30
max: 30
#### if-elif-else ####
score: 88
B
#### switch ####
0.5
#### switch II ####
3
================================================================
中文注释参考:
一个极小的问题。在python代码中,用了中文注释,不能被python解释器理解(python 2.5)。解决方案是:
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
或者:
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
代码详解参考:
http://blog.csdn.net/Lynn_yan/archive/2010/04/08/5464911.aspx