第5章 程序的流程控制使用if语句
5.1 关系运算符
Python语言所使用的关系运算符表格如下:
关系运算符 | 说明 | 实例 | 描述 |
---|---|---|---|
> | 大于 | a > b | 检查a是否大于b,如果为真,返回True,否则返回False |
>= | 大于等于 | a >= b | 检查a是否大于或等于b,如果为真,返回True,否则返回False |
< | 小于 | a < b | 检查a是否小于b,如果为真,返回True,否则返回False |
<= | 小于等于 | a <= b | 检查a是否小于或等于b,如果为真,返回True,否则返回False |
== | 等于 | a == b | 检查a是否等于b,如果为真,返回True,否则返回False |
!= | 不等于 | a != b | 检查a是否不等于b,如果为真,返回True,否则返回False |
>>> x = 1 > 2
>>> print(x)
False
>>> x = 3 >= 2
>>> print(x)
True
>>> x = 1 < 2
>>> print(x)
True
>>> x = 3 <= 2
>>> print(x)
False
>>> x = 1 == 1
>>> print(x)
True
>>> x = 1 != 2
>>> print(x)
True
5.2 逻辑运算符
Python所使用的逻辑运算符:
- and:相当于逻辑符号AND
- or:相当于逻辑符号OR
- not:相当于逻辑符号NOT
逻辑运算符and的图例说明:
and | True | False |
---|---|---|
True | True | False |
False | False | False |
逻辑运算符or的图例说明:
or | True | False |
---|---|---|
True | True | True |
False | True | False |
逻辑运算符not的图例说明:
not | True | False |
---|---|---|
False | True |
>>> x = (3 > 2) and (2 < 3)
>>> print(x)
True
>>> x = (1 > 2) and (2 < 3)
>>> print(x)
False
>>> x = (1 > 2) or (2 < 3)
>>> print(x)
True
>>> x = not(3 > 4)
>>> print(x)
True
5.3 if语句
if语句的基本语法如下:
if (条件判断) : # 条件判断外的小括号可有可无
程序代码段
如果条件判断为True,则执行程序代码段,否则不执行程序代码段。如果程序代码段只有一道指令,可写成下列格式:
if (条件判断) : 程序代码段
Python使用缩进方式区分if语句的程序代码段,编辑程序时可以用Tab键缩进或是直接缩进4个字符空间,表示这是if语句的程序代码段。
if(age < 18): # 程序代码段1
print("未成年人不准玩游戏!") # 程序代码段2
print("成年人还玩什么游戏!") # 程序代码段2
在Python中,缩进程序代码是有意义的,相同的程序代码段,必须有相同的缩进,否则会产生错误。
age = input("请输入年龄:")
if (int(age) < 18):
print("未成年不准玩游戏!")
请输入年龄:15
未成年不准玩游戏!
# ch5_2.py
print("输出绝对值")
num = input("请输入任意整数值:")
x = int(num)
if (int(x) < 0):
x = abs(x)
print("绝对值为%d" % int(x))
输出绝对值
请输入任意整数值:21
绝对值为21
输出绝对值
请输入任意整数值:-20
绝对值为20
5.4 if ···else语句
if (条件判断):
程序代码段一
else:
程序代码段二
如果条件判断为True,则执行程序代码段一,否则执行程序代码段二
# ch5_2.py
age = input("请输入年龄:")
if (int(age) < 18):
print("未成年不准玩游戏!")
else:
print("成年了玩什么游戏!")
请输入年龄:18
成年了玩什么游戏!
5.5 if···elif···else语句
多重判断语句,适用于需要多条件作比较的情况。
if (条件判断一):
程序代码段一
elif (条件判断二):
程序代码段二
......
else:
程序代码段n
如果条件判断一是True,则执行程序代码段一,然后离开条件判断;否则检查条件判断二。如果是True,则执行程序代码段二,然后离开条件判断。如果条件判断是False,则持续进行检查,elif的条件判断可以不断扩充,如果所有条件判断是False,则执行程序代码段n。
# ch5_5.py
print("计算最终成绩评分")
score = input("请输入分数:")
sc = int(score)
if (sc >= 90):
print("A")
elif (sc >= 80):
print("B")
elif (sc >= 70):
print("C")
elif (sc >= 60):
print("D")
else:
print("F")
计算最终成绩评分
请输入分数:78
C
5.6 巢状的if语句
巢状的if语句是指在if语句中包含有其他的if语句(嵌套)。
if (条件判断一):
if (条件判断A):
程序代码段A
else:
程序代码段B
else:
程序代码段二
判断输入的年份是否为闰年。闰年的几个条件:
- 可以被4整除
- 不能被100整除或可以被400整除
# ch5_6.py
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)
判断输入的年份是否为闰年
请输入年份:2018
2018不是闰年
往期文章: