Python-if-elif-else语句

长平狐 发布于 2013/01/06 11:20
阅读 509
收藏 0

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)。解决方案是:

# coding=gb2312
print 'ok' #中文注释没问题

或者:

# -*- coding: gb2312 -*-
print 'ok'  #这样也行

 

 

代码详解参考:

http://blog.csdn.net/Lynn_yan/archive/2010/04/08/5464911.aspx

 

 


原文链接:http://blog.csdn.net/sunboy_2050/article/details/6065772
加载中
返回顶部
顶部