Python3 条件控制
Python 条件语句是通过一条或多条语句的执行结果(True 或者 False)来决定执行的代码块。
可以通过下图来简单了解条件语句的执行过程:
代码执行过程:
1、if 语句
Python中if语句的一般形式如下所示:
if condition_1:
statement_block_1
elif condition_2:
statement_block_2
else:
statement_block_3
- 如果 "condition_1" 为 True 将执行 "statement_block_1" 块语句
- 如果 "condition_1" 为False,将判断 "condition_2"
- 如果"condition_2" 为 True 将执行 "statement_block_2" 块语句
- 如果 "condition_2" 为False,将执行"statement_block_3"块语句
Python 中用 elif 代替了 else if,所以if语句的关键字为:if – elif – else。
注意:
- 1、每个条件后面要使用冒号 :,表示接下来是满足条件后要执行的语句块。
- 2、使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。
- 3、在Python中没有switch – case语句。
2、简单实例
以下是一个简单的 if 实例:
# -*- coding:utf-8 -*-
var1 = 100
if var1:
print("如果var1的if 条件是True,打印本条信息")
print(var1)
var2 = 0
if var2:
print("如果var2的if条件是True,打印本条信息")
print(var2)
print("hello,yin! good bye~")
执行结果:
C:\Users\yzp\PycharmProjects\base_practice\Scripts\python.exe D:/00test/base_practice/01.py
如果var1的if 条件是True,打印本条信息
100
hello,yin! good bye~
Process finished with exit code 0
从结果可以看到由于变量 var2 为 0,所以对应的 if 内的语句没有执行。
以下实例演示了狗的年龄计算判断:
# -*- coding:utf-8 -*-
age = int(input("请输入狗狗的年龄:"))
print("hello.yin! 开始计算狗狗年龄~")
if age <= 0:
print("逗我玩呢,狗狗还没出生哦~")
elif age == 1:
print("相当于人类年龄14岁!")
elif age == 2:
print("相当于人类年龄22岁~")
elif age > 2:
human = 22 + (age - 2)*5
print("相当于人类年龄%d岁" % human)
# 退出提示
print("按enter键退出计算~")
执行结果:
C:\Users\yzp\PycharmProjects\base_practice\Scripts\python.exe D:/00test/base_practice/01.py
请输入狗狗的年龄:-1
hello.yin! 开始计算狗狗年龄~
逗我玩呢,狗狗还没出生哦~
按enter键退出计算~
Process finished with exit code 0
C:\Users\yzp\PycharmProjects\base_practice\Scripts\python.exe D:/00test/base_practice/01.py
请输入狗狗的年龄:5
hello.yin! 开始计算狗狗年龄~
相当于人类年龄37岁
按enter键退出计算~
Process finished with exit code 0
以下为if中常用的操作运算符:
实例:
# -*- coding:utf-8 -*-
# 演示 == 符号的作用
print(5 == 6)
x = 7
y = 8
print(x == y)
执行结果:
C:\Users\yzp\PycharmProjects\base_practice\Scripts\python.exe D:/00test/base_practice/01.py
False
False
Process finished with exit code 0
3、猜字谜游戏
# -*- coding:utf-8 -*-
number = 7
guess = -1
print("开始玩猜字谜游戏~")
while number != guess:
guess = int(input("请输入你猜的数字:"))
if guess == number:
print("恭喜你,猜中了~")
elif guess < number:
print("猜小了~")
elif guess > number:
print("猜大了~")
执行结果:
C:\Users\yzp\PycharmProjects\base_practice\Scripts\python.exe D:/00test/base_practice/01.py
开始玩猜字谜游戏~
请输入你猜的数字:1
猜小了~
请输入你猜的数字:10
猜大了~
请输入你猜的数字:7
恭喜你,猜中了~
Process finished with exit code 0
4、if 嵌套
在嵌套 if 语句中,可以把 if...elif...else 结构放在另外一个 if...elif...else 结构中。
if 表达式1:
语句
if 表达式2:
语句
elif 表达式3:
语句
else:
语句
elif 表达式4:
语句
else:
语句
实例:
# -*- coding:utf-8 -*-
number = int(input("请输入您的数字:"))
if number % 2 == 0:
if number % 3 ==0:
print("这个数字可以被2整除,也可以被3整除!")
else:
print("这个数字可以被2整除,但是不可以被3整除!")
else:
if number % 3 == 0:
print("这个数字不可以被2整除,但是可以被3整除!")
else:
print("这个数字既不可以被2整除,也不可以被3整除!")
执行结果:
C:\Users\yzp\PycharmProjects\base_practice\Scripts\python.exe D:/00test/base_practice/01写一个斐波纳契数列.py
请输入您的数字:6
这个数字可以被2整除,也可以被3整除!
Process finished with exit code 0
C:\Users\yzp\PycharmProjects\base_practice\Scripts\python.exe D:/00test/base_practice/01写一个斐波纳契数列.py
请输入您的数字:7
这个数字既不可以被2整除,也不可以被3整除!
Process finished with exit code 0
C:\Users\yzp\PycharmProjects\base_practice\Scripts\python.exe D:/00test/base_practice/01写一个斐波纳契数列.py
请输入您的数字:4
这个数字可以被2整除,但是不可以被3整除!
Process finished with exit code 0