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