Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。
Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false。
Python 编程中 if 语句用于控制程序的执行,基本形式为:
if 判断条件: 执行语句…… else: 执行语句……
其中"判断条件"成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围。
else 为可选语句,当需要在条件不成立时执行内容则可以执行相关语句,具体例子如下:
#!/usr/bin/python # -*- coding: UTF-8 -*- # 例1:if 基本用法 flag = False name = 'luren' if name == 'python': # 判断变量否为'python' flag = True # 条件成立时设置标志为真 print 'welcome boss' # 并输出欢迎信息 else: print name # 条件不成立时输出变量名称
输出结果为:
luren # 输出结果
if 语句的判断条件可以用>(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)来表示其关系。
当判断条件为多个值时,可以使用以下形式:
if 判断条件1: 执行语句1…… elif 判断条件2: 执行语句2…… elif 判断条件3: 执行语句3…… else: 执行语句4……
实例如下:
#!/usr/bin/python # -*- coding: UTF-8 -*- # 例2:elif用法 num = 5 if num == 3: # 判断num的值 print 'boss' elif num == 2: print 'user' elif num == 1: print 'worker' elif num < 0: # 值小于零时输出 print 'error' else: print 'roadman' # 条件均不成立时输出
输出结果为:
roadman # 输出结果
由于 python 并不支持 switch 语句,所以多个条件判断,只能用 elif 来实现,如果判断需要多个条件需同时判断时,可以使用 or (或),表示两个条件有一个成立时判断条件成功;使用 and (与)时,表示只有两个条件同时成立的情况下,判断条件才成功。
#!/usr/bin/python # -*- coding: UTF-8 -*- # 例3:if语句多个条件 num = 9 if num >= 0 and num <= 10: # 判断值是否在0~10之间 print 'hello' # 输出结果: hello num = 10 if num < 0 or num > 10: # 判断值是否在小于0或大于10 print 'hello' else: print 'undefine' # 输出结果: undefine 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条件判断语句,如下实例:
#!/usr/bin/python # -*- coding: UTF-8 -*- var = 100 if ( var == 100 ) : print "变量 var 的值为100" print "Good bye!"
以上代码执行输出结果如下:
变量 var 的值为100
Good bye!
练习题
1.使用while循环输入1 2 3 4 5 6 8 9 10
#!/usr/bin/python # -*- coding:UTF-8 -*- n= 1 while n<11: if n==7: #if嵌套用法 pass #pass 跳过用法 else: print(n) #本行缩进 n=n+1
2.求1-100的所有数的和
#!/usr/bin/python # -*- coding: utf-8 -*- n=1 s=0 while n<101: s=s+n if n==100: print(s) else: pass n=n+1 """ 求1-100的所有数的和 1+2+3+4 .....+99+100 当n=1时候 s=0 。。。1 当n=2时候 s=1 。。。3 当n=3时候 s=3 。。。6 当n=4时候 s=6 。。。10 """
3.输出1-100内的所有奇数
#!/usr/bin/python # -*- coding: utf-8 -*- n=1 while n<101: press = n%2 #取余数,余数为1说明不能整除,则为奇数 if press == 0: pass else: print(n) n=n+1
4.输出1-100内的所有偶数
#!/usr/bin/python # -*- coding: utf-8 -*- n=1 while n<101: press = n%2 #取余数,余数为零说明能整除,则为偶数 if press ==0: print(n) else: pass n=n+1
5.求1-2+3-4+5....99的所有数的和
#!/usr/bin/env pyhton # -*- coding:utf-8 -*- """ 给x赋值为0,给y赋值为0,while真,循环开始 如果x和2的余数等于0,那么x就为偶数,y的赋值就等于y减去x 否则x就为奇数,y的赋值就等于y加x 如果x等于100了,break跳出当前循环,x的赋值等于x加1一直循环到x等于100 打印y """ #求1-2+3-4+5...99的所有数的和 x = 0 y = 0 while True: if 0 == x % 2: y = y - x else: y = y + x if x ==100: break x += 1 # x=0 y=0 值0 # x=1 y=1 值1 # x=2 y=1-2 值-1 # x=3 y=-1+3 值2 # x=4 y=2-4 值-2 print(y)
6.用户登录(三次机会重试)