程序结构
- 程序的三种结构
- 顺序
- 循环
- 分支
分支结构
- 分支结构语法
if 条件表达式:
语句1
语句2
语句3
......
- 条件表达式的计算结果必须为布尔值
- 注意冒号和缩进
- if语句可以嵌套使用,但不推荐
- Python没有switch-case语句
# if语句1
# 字符串的真假:只有空字符串为False,其余全为True
a = '字符串非空'
if a:
print('输出为True')
else:
print('输出为False')
"""
运行结果:
输出为True
"""
# if语句2
age = 19
if age > 16:
print('去网吧')
else:
print('下次我请你')
"""
运行结果:
去网吧
"""
多路分支
- elif可以有多个
- else可选
- 多路分支最多只会执行其中一种情况
- 多路分支语法
if 条件表达式1:
语句1
......
elif 条件表达式2:
语句2
......
elif 条件表达式3:
语句3
......
else:
语句4
......
# 多路分支案例
score = input('请输入成绩:')
score = int(score)
if score >= 90:
print('优秀!')
elif score >= 80:
print('良好!')
elif score >= 70:
print('还行!')
elif score >= 60:
print('一般!')
else:
print('去补考吧!')
"""
运行结果:
请输入成绩:68
一般!
"""
input()
- 在屏幕上输出双引号内的字符串
- 接受用户输入内容并返回到程序
- input返回的内容一定是字符串类型
# input()案例
gender = input('请输入性别:')
print(gender)
if gender == 'man':
print('走,喝酒抽烟去')
else:
print('滚!')
"""
运行结果:
请输入性别:man
man
走,喝酒抽烟去
"""
循环结构
重复执行某一个固定的动作或任务
- 分类
- for
- while
for循环
有确定次数的循环
- 语法
for 变量 in 序列:
语句1
语句2
......
# for循环案例1
num_list = [1, 2, 3, 4, 5]
for num in num_list:
print(num)
# for循环案例2
stu_list = ['张三', '李四', '王五']
for stu in stu_list:
if stu == '李四':
print('你好!')
else:
print('滚!')
for-else语句
for循环结束的时候,有时候需要执行一些收尾操作,此时需要使用for-else语句
- else语句是可选的
- else语句仅在循环正常结束时执行
stu_list = ['张三', '李四', '王五']
for stu in stu_list:
if stu == '李四':
print('你好!')
else:
print('滚!')
else:
print('不会再爱了!')
break
跳出整个循环,不再执行
- break只跳出一层循环
- 在for、while循环中使用
# break案例
# 在一个数字队列中,寻找数字7,如果找到就跳出
dig_list = [4, 6, 8, 9, 11, 54, 7, 56, 43]
for dig in dig_list:
if dig == 7:
print('找到啦!')
break
else:
print(dig)
continue
跳出本次循环,执行下一次循环
- continue只跳出一层循环
- 在for、while循环中使用
# continue案例
# 在数字1-10中,寻找所有偶数,找到偶数后打印
dig_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for dig in dig_list:
if dig % 2 == 0:
print(dig)
else:
continue
pass
只是一个占位符,什么也不干,没有跳过功能
# pass案例1
age = 17
if age >= 18:
pass
else:
print('你还小')
# pass案例2
ages = [2, 4, 6, 8, 3, 44]
for age in ages:
pass
print(age)
range()
生成一个数字序列
- 语法:
range(区间1, 区间2)
- 包括左边,不包括右边
- 生成数字队列可以定制
# range()案例
# 生成一个从1到100的数字序列
dig_list = range(1, 101)
for dig in dig_list:
print(dig)
while循环
无确定次数的循环
- 通过条件限制的循环
- 语法
while 条件表达式:
语句1
语句2
......
# while案例1
# 如果年利率是6.7%,本利是每年翻滚,则多少年后本钱会翻倍
money = 10000
year = 0
while money < 20000:
money = money * (1 + 0.067)
year = year + 1
print(year)
"""
运行结果:
11
"""
while-else语句
while循环结束的时候,有时候需要执行一些收尾操作,此时需要使用while-else语句
- else语句是可选的
- else语句仅在循环正常结束时执行
# while-else案例
# 如果年利率是6.7%,本利是每年翻滚,则多少年后本钱会翻倍
money = 10000
year = 0
while money < 20000:
money = money * (1 + 0.067)
year = year + 1
else:
print(year)
"""
运行结果:
11
"""