Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。
1、Python程序语言指定任何非0和非空(null)值为true,0或者null为false。Python编程中if语句用于控制程序的执行,else为可选语句,当需要在条件不成立时执行的内容则可以执行相关语句。基本形式为:
if判断条件:
执行语句1……
else:
执行语句2……
例1:
Flag=False
if Flag:
print 'welcome to Python'
else:
print'welcome to PHP'
运行结果如下:

注:缩进相同的语句被认为同一等级的代码,建议使用4个空格来缩进(方便代码迁移),或直接用tab键。
2、if语句的判断条件可以用>(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)来表示其关系。当判断条件为多个值时,可以使用以下形式:
if判断条件1:
执行语句1……
elif判断条件2:
执行语句2……
elif判断条件3:
执行语句3……
else:
执行语句4……
例2:
#-*-coding:utf-8-*-
score=raw_input('请输入一个分数:') #接受用户输入,也可以用input函数
score=int(score) #类型转换
if 100>=score>=80: #此处判断也可以写为80<=score<=100
print "优秀"
elif 80 > score >=60:
print "合格"
elif 60>score >=0:
print "不合格"
else:
print "输入错误"
运行结果如下:

注:运行之后的语句也可以撤销。
3、由于python并不支持switch语句,所以多个条件判断,只能用elif来实现,如果需要多个条件需同时判断时,可以使用or(或),表示两个条件有一个成立时判断条件成功;使用and(与)时,表示只有两个条件同时成立的情况下,判断条件才成功。当if有多个条件时可使用括号来区分判断的先后顺序,括号中的判断优先执行。此外and和or的优先级低于>(大于)、<(小于)等判断符号,即大于和小于在没有括号的情况下会比and(与)和or(或)要优先判断。
例3:
#-*-coding:utf-8-*-
x=int(raw_input('请输入一个分数x:'))
y=int(raw_input('请输入一个分数y:'))
ifx>=60 and y>=60:
print "pass all"
elifx>=60 or y>=60:
print "pass one"
else:
print "fail all"
运行结果如下:

4、面试题:判断一个年份是否为闰年。
代码如下:
year=int(raw_input("Please input the year (eg:2008):")) #给定一个输入示例2008
if(year % 100 == 0 and year % 400 == 0 )or(year % 100 != 0 and year % 4 == 0 ):
print"%d is leap year."%year #格式化输出,%d整型,别忘记后面加%year
else:
print"%d is not leapyear."%year
运行结果如下:

注:闰年判断:年份是100的倍数,能被400整除或者年份不是100的倍数,能被4整除。
小结:
if语句执行有个特点,它是从上往下判断,如果在某个判断上是True,把该判断对应的语句执行后,就忽略掉剩下的elif和else。
网友评论