1. 流程控制
控制代码执行的方式。根据代码执行方式不同,将代码分为三种结构:
1)顺序结构(默认)
代码从上往下按顺序依次执行,并且每条语句只执行一次。
a = 10
print(a)
print(11)
print('22')
2) 分支结构(if语句)
根据条件选择执行代码。
age = 25
if age >= 18:
print('成年')
else:
print('未成年')
3)循环结构(for、while)
让代码重复执行(代码只写一遍,执行多次)。
for x in range(5):
print('hello world')
2. 分支结构
2.1 if 单分支结构
如果xxx就xxx。
2.1.1 语法
'''
if 条件语句:
代码段
'''
2.1.2 说明
1)if:关键字;固定写法;
2)条件语句:可以是任何有结果的表达式,例如:具体数据、已经赋值过的变量、有结果的某种运算的运算表达式;
3)固定写法:必须是英文输入法下的冒号;
4)代码段:结构上就是和if保持一个缩进1条或者多条语句(至少1条),逻辑上就是满足条件就会执行代码(缩进按tab键)。
'''
如果考试考100分就买一辆车
相当于
if 考试考100分:
买一辆车
'''
2.1.3 条件语句可以是任何有结果的表达式
age = 25
if age >= 18:
print('满足条件才执行的代码')
# 如果num是偶数就打印'偶数',不管是什么数都打印'Number'
num = 22
if num % 2 == 0:
print('偶数')
print('Number')
2.1.4 练习
练习1:根据年龄值打印成年
age = 25
if age >= 18:
print('成年')
练习2:如果num能被4整除就打印’4的倍数’
num = 29
if num % 4 == 0:
print('4的倍数')
2.2 if 双分支结构
如果xxx就xxx否则就xxx。
2.2.1 语法
'''
if 条件语句:
代码段1(条件成立的时候要执行的代码)
else:
代码段2(条件不成立的时候要执行的代码)
如果考试考100分就买一辆车否则就挨打
相当于:
if 考试考100分:
买一辆车
else:
挨打
'''
2.2.2 练习
练习1:根据num的奇偶性打印’奇数‘或者’偶数‘
num = 21
# 方法1:
if num % 2 == 0:
print('偶数')
else:
print('奇数')
# 方法2:
if num % 2: # 1 -> True -> 奇数
print('奇数')
else:
print('偶数')
练习2:如果字符串str1是空串就打印’空字符串’否则打印’非空字符串’
str1 = 'hu'
# 方法1:
if str1 == '':
print('空字符串')
else:
print('非空字符串')
# 方法2:
if str1:
print('非空字符串')
else:
print('空字符串')
# 方法3:
if not str1:
print('空字符串')
else:
print('非空字符串')
练习3:根据year对应的年份打印’平年’ 或者 ‘闰年’
year = 2001
if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
print('闰年')
else:
print('平年')
2.2.3 补充
1)条件语句不是布尔值,条件成立还是不成立看条件语句的结果转换成布尔后是True还是False。
2)布尔类型转换:所有类型的数据都可以转换成布尔,转换的时候所有的零值和空值会转换成False,其他都是True。
print(bool(0),bool(0.0),bool(None),bool(''),bool([]),bool(())