莫烦python基础教程(三)

if 判断

if 判断


基本使用

  • 与其他编程语言中的 if 语句一样,使用方法如下:
if condition:
    expressions
  • 如果 condition 的值为 True,将会执行 expressions 语句的内容,否则将跳过该语句往下执行。

实例

  • 下列代码中,if 语句的条件为 x < y 为 True,那么将执行条件内部语句,程序将输出 x is less than y。
x = 1
y = 2
z = 3
if x < y:
    print('x is less than y')
  • 下列代码中,条件变成了 x < y < z,其相当于 x < y and y < z,如果 and 两边的条件都为 True,那么才会返回 True。 注意这个用法是 python 语言特有,不鼓励大家写出这样的代码,以便其他语言的程序员能够看懂你的代码。
x = 1
y = 2
z = 3
if x < y < z:
    print('x is less than y, and y is less than z')

注意点

  • 在 python 语言中等号的判断使用 == 而不是 =,因为后一种是赋值语句。

if else 判断


基本使用

  • if else的基本语法如下:
if condition:
    true_expressions
else:
    false_expressions
  • 当 if 判断条件为 True,执行 true_ expressions语句;如果为 False,将执行 else 的内部的 false_expressions。

实例

  • 下列代码中,因为 x > y 将会返回 False,那么将执行 else 的分支内容,输出 x is less or equal to y。
x = 1
y = 2
z = 3
if x > y:
    print('x is greater than y')
else:
    print('x is less or equal to y')
  • 下列代码中,因为 condition 条件为 True,那么将会输出 x is greater than y。
x = 4
y = 2
z = 3
if x > y:
    print('x is greater than y')
else:
    print('x is less or equal to y')

高级主题

  • python 中并没有类似 condition ? value1 : value2 三目操作符,但是python 可以通过 if-else 的行内表达式完成类似的功能。
  • 可以这么理解下面这段语句,如果 condition 的值为 True,那么将 var1 的值赋给 var;如果为 False 则将 var2 的值赋给 var。
var = var1 if condition else var2
  • 下列代码中,首先判断如果 work 为 True,那么将 done 字符串赋给 result,否则将 not yet 赋给 result, 结果将输出 done。
worked = True
result = 'done' if worked else 'not yet'
print(result)

if elif else 判断


基本使用

  • 如果有多个判断条件,那可以通过 elif 语句添加多个判断条件,一旦某个条件为 True,那么将执行对应的 expression,并在代码执行完毕后跳出该 if-elif-else 语句块,往下执行。
if condition1:
    true1_expressions
elif condition2:
    true2_expressions
elif condition3:
    true3_expressions
elif ...
    ...
else:
    else_expressions

实例

  • 下列代码中,因为 x = 4 那么满足 if 的条件,则将输出 x > 1 并且跳出整个 if-elif-else 语句块,那么紧接着输出 finish。 如果将 x = -2 那么将满足 elif x < 1 这个条件,将输出 x <1,finish。
x = 4
y = 2
z = 3
if x > 1:
    print('x > 1')
elif x < 1:
    print('x < 1')
else:
    print('x = 1')
print('finish')

猜你喜欢

转载自blog.csdn.net/faker1895/article/details/81711348
今日推荐