专栏首页米扑专栏Python-if-elif-else语句

Python-if-elif-else语句

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:

$ 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'  #这样也行

if-else 多种用法

#!/usr/bin/python
# -*- coding:utf8 -*- 
#
# blog.ithomer.net


a, b, c = 1, 2, 3

# 常规
def test1():
    if a>b:
        c = a
    else:
        c =b
    print c

# 表达式
def test2():
    c = a if a>b else b
    print c

# 二维列表
def test3():
    c = [b,a][a>b]
    print c

# 黑客用法
def test4():
    c = (a>b and [a] or [b])[0]
    print c

if __name__ == "__main__":
    test1()
    test2()
    test3()
    test4()

运行结果: 2 2 2 2

博客之星评选,请投我一票:

http://vote.blog.csdn.net/blogstaritem/blogstar2013/sunboy_2050

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python学习——struct模块的pack、unpack示例

    [work@db-testing-com06-vm3.db01.baidu.com python]$ python struct_pack.py

    阳光岛主
  • 【leetcode】Valid Number

    Some examples: "0" => true " 0.1 " => true "abc" => false "1 a" => false "2e10" ...

    阳光岛主
  • Linux的VI编辑器

    :q     退出    :q!    强行退出(不存盘)    :wq   强制性写入文件并退出。即使文件没有被修改也强制写入,并更新文件的修改时间。  :x...

    阳光岛主
  • 三大结构-分支

    DataScience
  • 点球小游戏 2

    再次说明:一个编程问题会有很多种解法,我给的只是其中一种,而且未必是最好的一种。所以,你尽可去想自己的方法,然后实现它。 我们的点球游戏已经快完成了,现在要做的...

    Crossin先生
  • Python练手例子(3)

    13、打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方...

    py3study
  • python 字典dict

    py3study
  • Numpy 01

    py3study
  • 004 python 流程控制语句

    py3study
  • Python练手例子(1)

    1、有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?

    py3study

扫码关注云+社区

领取腾讯云代金券