python条件语句 让你分分钟学会python条件语句
振华OPPO 人气:0Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。
我们通过下图来简单了解下条件语句的执行过程:
Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false。
Python 编程中 if 语句用于控制程序的执行,基本形式为:
if 判断条件:
执行语句。。。
else:
执行语句。。。
其中"判断条件"成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围。
else 为可选语句,当需要在条件不成立时执行内容则可以执行相关语句,如果条件不成立时不需要做任何操作,就可以不写。
我们来看一个具体的例子:
flag=False # 定义变量flag为假 name="csdn" # 定义变量name为“csdn”的字符串 if(name=='python'): # 判断变量是否为 python flag=True # 条件成立时设置标志为真 print("this is python conditional statement") # 并输出提示信息 else: print(name) # 条件不成立时输出变量名称
输出结果
csdn
这里可以看到python中if-else语句与C/C++和java最大的区别就是它不需要花括号将执行语句括起来,这也是python本身的一个特点。
if 语句的判断条件可以用>(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)来表示其关系。
当判断条件为多个值时,可以使用以下形式:
if 判断条件1:
执行语句1。。。
elif 判断条件2:
执行语句2。。。
elif 判断条件3:
执行语句3。。。
else:
执行语句4。。。
看一个经典成绩实例:
grade=99 #定义grade变量并赋值 if(grade>=90): #第一个分支,判断grade是否>=90 print("优秀")# 是就输出“优秀”,不是则继续看下面分支 elif(grade>=80):#第二个分支,判断grade是否>=80 print("良好")# 是就输出“良好”,不是则继续看下面分支 elif(grade>=70):#第三个分支,判断grade是否>=70 print("中等")# 是就输出“中等”,不是则继续看下面分支 elif(grade>=60):#第四个分支,判断grade是否>=60 print("及格")# 是就输出“及格”,不是则继续看下面分支 else: #当所有分支均不满足,进入else分支 print("不及格")# 只要进入else分支就执行该语句
输出结果为
不及格
由于 python 并不支持 switch 语句,所以多个条件判断,只能用 elif 来实现,如果判断需要多个条件同时判断时,可以使用 or (或)表示两个条件有一个成立时判断条件成功;使用 and (与)表示只有两个条件同时成立的情况下,判断条件才成功。
我们来看下面三个实例,都是if语句中多个条件
#实例1 num = 9 if num >= 0 and num <= 10: # 判断值是否在0~10之间 print("hello") # 输出结果: hello #实例2 num = 10 if num < 0 or num > 10: # 判断值是否在小于0或大于10 print("hello") else: print('undefine') # 输出结果: undefine #实例3 num = 8 # 判断值是否在0~5或者10~15之间 if (num >= 0 and num <= 5) or (num >= 10 and num <= 15): print("hello") else: print('undefine') # 输出结果: undefine
当if有多个条件时可使用括号来区分判断的先后顺序,括号中的判断优先执行,此外 and 和 or 的优先级低于>(大于)、<(小于)等判断符号,即大于和小于在没有括号的情况下会比与或优先判断。
当然,你也可以在同一行的位置上使用if条件判断语句,如下实例:
time=60 if(time<=60):print("珍惜时间") print("时间已经流逝")
输出结果为
珍惜时间
时间已经流逝
在程序中,if语句可以嵌套,同等缩进为同一条件结构,下面我们通过几行python2代码,学习一下条件嵌套
使用python(x,y),代码如下:
k=raw_input("input the index of shape:") if k=='1': print "circle" elif k=='2': print "oval" elif k=='3': print "rectangle" s1=int(raw_input('the first side:')) s2=int(raw_input('the second side:')) if s1==s2: print "the square's area is:%d." % (s1*s2) else: print "the rectangle's area is:%d." % (s1*s2) elif k=='4': print "triangle" else: print "you input the invalid number."
运行该代码多次,执行结果如下图:
总结
加载全部内容