第五章 Python 程序的流程控制使用 if 语句
5-1 关系运算符
- python 语方所使用的关系运算表:如果是真传回 True,如果是伪传回 False
关系运算符 | 说明 | 实例 | 说明 |
---|---|---|---|
> | 大于 | 单引号 | 检查 a 是否大于 b |
>= | 大于等于 | a >= b | 检查 a 是否大于等于 b |
< | 小于 | a < b | 检查 a 是否小于 b |
<= | 小于等于 | a <= b | 检查 a 是否小于等于 b |
== | 等于 | a == b | 检查 a 是否等于b |
!= | 不等于 | a != b | 检查 a 是否不等于 b |
x = 10 > 8
print(x)
#输出结果
True
x = 10 >= 10
print(x)
#输出结果
True
x = 10 < 20
print(x)
#输出结果
True
x = 10 <= 10
print(x)
#输出结果
True
x = 10 == 10
print(x)
#输出结果
True
x = 10 != 20
print(x)
#输出结果
True
5-2 逻辑运算符
-
python 所使用的逻辑运算符
-
and:全部是 True 才等于 True ,只要有一个是 False 结果就是 False
x = (10>8 ) and (20>10) print(x) #输出结果 True x = (10>8) and (10>20) print(x) #输出结果 False x = (10<8) and (10<20) print(x) #输出结果 False x = (10<8) and (10>20) print(x) #输出结果 False
-
or:只要一个是 True 结果就是 True
x = (10>8) or (20>10) print(x) #输出结果 True x = (10<8) or (10<20) print(x) #输出结果 True x = (10<8) or (10>20) print(x) #输出结果 False
-
not:True 的相反值 False,False 的相反值 True
x = not(10<8) print(x) #输出结果 True x = not(10>8) print(x) #输出结果 False
-
5-3 if 语句
-
这个 if 语句的基本语法如下:
if ( 条件判断 ):
程序代码区块
上观念是如果条件判断是 True,则执行程序代码区块,如果条件判断是 False,则不执行程序代码区块。如果程序代码区块只有一道指令,可将上述语法写成下列格式
if ( 条件判断 ): 程序代码区块
-
可以用下列流程图说明这个 if 语句:
注:程序代码区块的每个级别都必须缩进相同个空隔(一般是4个空隔,也可5、6、7…)
- 例1:
age = 18
if (age < 20):
print("你年龄太小")
print("需20岁才可以购买烟酒")
#输出结果
你年龄太小
需20岁才可以购买烟酒
- 例2:不正确的使用缩进
age = 18
if (age < 20):
print("你年龄太小")
print("需20岁才可以购买烟酒") #这里在同一个程序区块内多缩进了两个空隔
#输出结果
File "<ipython-input-20-91370c34eb74>", line 4
print("需20岁才可以购买烟酒")
^
IndentationError: unexpected indent
5-4 if … else 语句
-
程序设计时更常用的功能是条件判断为 True 时执行某一个程序代码区块,当条件判断为 Fasle 时执行另一段程序代码区块,此时可以使用 if … else 语句,它的语法格式如下:
if ( 条件判断 ): #小括号可以省略
程序代码区块一
else:
程序代码区块二
-
上述观念是如果条件判断是 True,则执行程序代码区块一,如果条件判断是 False,则执行程序代码区块二。可以用下列流程图说明这个 if … else 语句。
age = input("请输入年龄:")
if(int(age) < 20 ):
print("你的年龄太小")
print("需满20岁才可以购买烟酒")
else:
print("欢迎购买烟酒")
#输出结果1
请输入年龄:18
你的年龄太小
需满20岁才可以购买烟酒
#输出结果2
请输入年龄:20
欢迎购买烟酒
5-5 if … elif … else 语句
-
这是一个多重判断,程序设计时需要多个条件作比较时就比较有用,例如:在美国成绩计分是采取A、B、C、D、F 等,通常 90-100 分是A,80-99 分是B,70-79 分是C,60-69 分是D,低于 60 分是 F 。若是使用 python 可以用这个语句,很容易就完成这个工作。这个语句的基本语法如下:
if ( 条件判断一 ):
程序代码区块一
elif:( 条件判断二 ):
程序代码区块二
…
else:
程序代码区块 n
-
上述观念是,如果条件判断一是 Treu 则执行程序代码区块一,然后离开条件判断。否则检查条件判断二,如果是 True 则执行程序代码区块二,然后离开条件判断。如果条件判断是 False 则持续进行检查,上述 elif 的条件判断可以不断扩充,如果所有条件判断是 False 则执行程序代码区块 n。下列流程图是假设只有2个条件判断说明这个 if … elif … else 语句。
5-6 嵌套的 if 语句
-
所谓的嵌套的 if 语句是指在 if 语句内有其他的 if 语句
-
其实 python 允许加上许多层,不过层次一多,未来程序维护会变得比较困难。
-
实例:测试某一年是否润年,润年的条件是首先可以被4整险(相当于没有余数),这个条件成立时,还必须符合它除以100时余数不为 0 或是除以 400 时余数为 0,当2个条件皆符合才算润年。
print("判断输入年份是否润年") year = input("输输入年份:") rem4 = int(year) % 4 rem100 = int(year) % 100 rem400 = int(year) % 400 if rem4 == 0: if rem100 != 0 or rem400 == 0: print("%s 是润年" % year) else: print("%s 不是润年" % year) else: print("%s 不是润年" % year) #输出结果1 判断输入年份是否润年 输输入年份:2019 2019 不是润年 #输出结果2 判断输入年份是否润年 输输入年份:2020 2020 是润年
5-7 尚未设定的变量值 None
-
有人在程序设计时,喜欢将所有变量一次先予以定义,在尚未用到此变量时先设定这个变量的值 是 None,如果此时用 type() 函数了解它的类别时将显示 “NoneType”,如下所示:
x = None print(x) print(type(x)) #输出结果 None <class 'NoneType'> #通常在程序设计时,可使用下列方式自我测试 flag = None if flag == None: print("尚未定义 flag") #输出结果 尚未定义 flag
这个变量的值 是 None,如果此时用 type() 函数了解它的类别时将显示 “NoneType”,如下所示:
x = None
print(x)
print(type(x))
#输出结果
None
<class 'NoneType'>
#通常在程序设计时,可使用下列方式自我测试
flag = None
if flag == None:
print("尚未定义 flag")
#输出结果
尚未定义 flag