分支语句 if- elif -else
一、if -else 语句格式:
if 条件语句1: # 若条件语句1 为True,则执行下面的执行语句;执行完毕后跳出该分支结构
执行语句1
elif 条件语句2: #若条件语句1 为False,则判断条件语句2;若为True ,则执行 执行语句2;执行完毕后跳出该分支结构
执行语句2
elif 条件语句3:
执行语句
elif 条件语句4:
执行语句
else:
执行语句 # 若以上if ,及elif 中的条件全为 False 则执行else 中的执行语句;
注:
多个elif 为条件分支,当满足多个elif中的条件时,仅执行首次条件匹配时 elif中的语句;
二、if - elif-else 语句范例:
#! /usr/bin/python
marks = int(raw_input("Please type your mark:")) # 通过获取用户输入的数字,并赋值给变量 marks
if marks <= 40: # 假设输入一个数字 90 ,此处判断语句为False
print "Maybe you should work hard"
elif marks >= 50: #此处判断 marks 是否大于等于50;为True,则执行 下一语句 并将变量grade 赋值为E
grade = "E"
elif marks >= 60: #虽然后面 elif 中的条件都满足,但是 elif 仅执行首次 条件匹配 时的语句;
grade = "D"
#因此,后面的elif 都不执行;
elif marks >= 70:
grade = "C" #elif 功能可类比于 C中的 switch-case
elif marks >= 80:
grade = "B"
elif marks >= 90:
grade = "A"
虽然后面 elif 中的条件都满足,但是 elif 仅执行首次 条件匹配 时的语句;
grade = "D"
#因此,后面的elif 都不执行;
elif marks >= 70:
grade = "C" #elif 功能可类比于 C中的 switch-case
elif marks >= 80:
grade = "B"
elif marks >= 90:
grade = "A"
三、if 语句额外的规则
1 每一条 if 语句必须包含一个else。 否则没有分支的意义
2 if 语句的嵌套最好不要超过两层; 若有第二个 if ,应尽量将第二个 if 移到另一个函数中去;
3 if -elif -else 应被当作 段落对待;每一个 if elif else 组合的 最前面和最后面 应空一行便于区分;
4 用于 条件判断 的 语句 应尽量简单;若语句复杂,则应当将它们的运算 事先放到一个变量中;
此规则有助于写出整洁的代码,但实际中应根据实际情况添加elif语句