跳转至

if语句

定义

if语句是指编程语言中用来判定所给定的条件是否满足,根据判定的结果(真或假)决定执行给出的两种操作之一

image-20220916063017049

if 语句包含零个或多个 [elif] 子句及可选的 [else] 子句。关键字 'elif' 是 'else if' 的缩写,适用于避免过多的缩进。if ... elif ... elif ... 序列可以当作其他语言中 switchcase 语句的替代品。

最简单的if 例

x = int(input("输入一个整数: "))
if x < 0:
    x = 0
    print('小于零')


print('x现在是'+str(x))

运行结果:

输入一个整数: -9
小于零
x现在是0

包含else 例

x = int(input("输入一个整数: "))
if x < 0:
    x = 0
    print('小于零')
else:
    print('都不是')

print('x现在是'+str(x))

运行结果:

输入一个整数: -10
小于零
x现在是0

包含elif 例

如果要把一个值与多个常量进行比较,或者检查特定类型或属性,match 语句更实用。

x = int(input("输入一个整数: "))
if x < 0:
    x = 0
    print('小于零')
elif x == 0:
    print('是零')
elif x == 1:
    print('是一')
else:
    print('都不是')

print('x现在是'+str(x))

运行结果:

输入一个整数: 1
是一
x现在是1

注意事项

if语句是依次从上往下执行,如果其中一个条件满足了,那么下面的语句就都不执行了。例如下面的案例:

x = int(input("输入一个整数: "))
if x < 0:
    x = 0
    print('小于零')
elif x > 0:
    print('大于零')
elif x == 0:
    print('是零')
elif x == 1:
    print('是一')
else:
    print('都不是')

print('x现在是'+str(x))

结果:

输入一个整数: 1
大于零
x现在是1

由于1大于0,满足第二个条件呢,就执行第二个条件下面的语句,虽然也满足第四个条件,但是执行完第二个就退出了 if语句。第三个第四个等后面的就通通不执行了

尽量把匹配范围大的规则写在下面;

例如: 1 日本人禁止 2 韩国人禁止 3 美国人禁止 4 外国人允许 以上规则:先匹配 小的,再匹配大的

例如:

1 外国人禁止 2 日本人禁止 3 韩国人禁止 4 美国人禁止 以上规则:先匹配大的,再匹配小的,所有外国人都禁止了