1.分支结构
1.1单分支结构
如果......那么......否则......
如果天气好,那么就出去玩,否则就宅在家里
分支结构:在程序运行过程中需要进行条件判断,根据结果分不同情况执行响应的代码
# 伪代码
if 判断条件:
执行语句1
else:
执行语句2
例:
if 天气好:
出去玩
else:
在家待着
例:输入一个数字,判断该数字是不是7的倍数
num=int(input('请输入一个数字:'))
if num%7==0:
print('{}是7的倍数'.format(num))
else:
print('{}不是7的倍数'.format(num)
1.2多分支结构
##输入分数,按照不及格、及格、良好、优秀来划分等级
# 方法1:if语句嵌套
score=int(input('请输入分数:'))
if score >= 90:
print('优秀')
else:
if score >= 80:
print('良好')
else:
if score >= 60:
print('及格')
else:
if score<60:
print('不及格')
# 方法2:if...elif...elif...else...
score=int(input('请输入分数:'))
if score >= 90:
print('优秀')
elif score >= 80:
print('良好')
elif score >= 60:
print('及格')
elif score <60:
print('不及格')
注意:多分支结构从上自下执行,只要有满足条件的,就不再往下继续判断。
score=int(input('请输入分数:'))
if score >= 60:
print('及格')
elif score >= 80:
print('良好')
elif score >= 90:
print('优秀')
elif score <60:
print('不及格')
1.3三目运算式:
条件语句的简写方式
# 判断奇数偶数
a = int(input('请输入一个整数:'))
# if a % 2 == 0:
# print('偶数')
# else:
# print('奇数')
n = '偶数' if a % 2 == 0 else '奇数'
print(n)
2.循环结构
循环结构:重复执行某段代码
作用:让计算机帮人类处理一些单调、重复性的工作
程序三种基本结构:顺序结构、分支结构、循环结构
2.1while循环
当......时,重复执行......
# 伪代码
while 条件:
执行语句
# 条件成立时,重复执行语句,直到条件不成立
while循环是一种当型循环,因此程序中一般设置可以跳出循环的方式,以避免出现死循环的情况。通常我们编写 的代码中的循环会结束并输出结果的,尽量避免出现死循环的情况,除非你真的需要。
##注意缩进!!!严格缩进!!!
例1:输出1到10
n=1
while n<=10:
print(n)
n=n+1
例2:计算1到100的和
n=1
s=0
while n<=100:
s=s+n
n=n+1
print(s)
2.2 for循环
1.计次循环:重复执行...次
# 输出1到10
for i in range(10):
print(i+1)
range()函数是一个迭代器,会迭代生成多个数字(顾头不顾尾)
range(起始数字,终止数字,步长)
for i in range(1,100,2):
print(i)
2.遍历容器类数据类型(字符串、列表、字典、元组、集合)
words='wjedgcwugc'
for i in words:
print(i)
注意:for循环使用range()迭代器,不需要设置自变量自加自减操作
for i in range(10):
print(i)
i=i+2 #无效操作
例题:输出九九乘法表
for i in range(1,10):
for j in range(1,i+1):
print('{}*{}={}\t'.format(j,i,j*i),end='')
print('\n')
2.3 两种循环特点和使用场景:
while循环是一种带条件的当型循环,当满足条件时执行,直到不满足条件
for循环是一种计次循环,在作为计次循环使用时,可以由while循环替代
使用场景:
1. 当明确知道循环的次数时,for循环和while循环都可以
2. 当不知道要循环多少次,只知道循环的条件时使用while循环
3. 遍历容器型数据时一定使用for循环
2.4循环中断
功能:可以强行终止循环
1. break 直接跳出所在循环,去执行循环外部的语句
for i in range(1, 11):
print(i)
if i == 5:
break
2. continue 跳过本次循环剩余代码,执行下一次循环
for i in range(1, 11):
if i == 5:
continue # continue后面一定要有语句,否则就没有意义
print(i)
3.异常捕获
"""
异常捕获:
在程序出错的时候不终止程序,继续执行,并且捕获异常信息
增加程序的健壮性
"""
# try:
# print(3/0)
# except:
# print('程序出错!')
while True:
try:
a=int(input('请输入被除数:'))
b=int(input('请输入除数:'))
print(f'{a}除以{b}的商是{a//b}余数是{a%b}')
quit=input('输入q结束程序,否则继续程序:')
if quit=='q':
break
except ZeroDivisionError:
print('除数不能为0!!!')
except ValueError:
print('输入的必须是数字类型!')