1、流程控制
1.1 执行过程
- 顺序结构:代码从上往下按顺序执行,而且每条语句只执行一次(默认)
- 分支结构:执行代码时可以根据条件选择执行代码(if)
- 循环结构:让代码重复执行(for、while)
2、分支结构
2.1 if 单分支结构
- 语法:
'''
if 条件语句:
代码块
'''
if num % 2 == 0:
print('偶数')
print('--')
'''
偶数
--
'''
2.2 if 双分支结构
- 语法:
num_3 = 23
if num_3 % 2 == 0:
print('偶数')
else:
print('奇数') #奇数
2.3 if 多分支结构
- 方法:
#方法1:使用多个if单分支结果,有一个条件成立,其他条件也能同时成立
'''
if 条件1:
代码块1
if 条件2:
代码块2
...
if 条件N:
代码块N
'''
#方法2:如果多个条件之间有一个条件成立,其他条件绝对不会成立
'''
if 条件1:
代码块1
elif 条件2
代码块2
...
else:
代码块n
'''
2.4 分支嵌套
# 案例:根据num的值打印"偶数"、"奇数"和"4倍数"
num = 36
if num % 2 == 0:
print('偶数')
if num % 4 == 0:
print('4的倍数')
else:
print('奇数')
#偶数
#4的倍数
3、for循环
- 语法:
for 变量 in 序列:
循环体
- 说明
for -关键字;固定写法
变量 -变量名(定义过没定义过都可以)
in -固定写法
序列 -容器型数据类型的数据,例如:字符串、列表 、字典、元组、集合、迭代器、生成器、range
: -固定写法
循环体 -结构上,就是和for保持一个缩进的一条或多条语句(至少一条);逻辑上,循环体就是需要重复执行的代码
- 循环原理
让变量去序列中取值,一个一个的取,取完为止,每取一个值就执行一次循环体,如果要控制循环次数,只需要控制序列中元素的个数
for x in '1234'
print('hello word')
'''
hello word
hello word
hello word
hello word
'''
3.1 range函数
- range(a)
for a in range(4):
print('hello word')
'''
hello word
hello word
hello word
hello word
'''
for a in range(4):
print(a)
'''
0
1
2
3
'''
- range(a,b)
for a in range(1,4):
print(a)
'''
1
2
3
'''
- range(a,b,step)
for a in range(1,10,3):
print(a)
'''
1
4
7
'''
4、循环的应用
4.1 累计求和
第一步:定义一个变量来保存最后的结果,变量默认值是0
第二步:使用循环获取需要求和的每一个数据
第三步:每取到一个数据,就往保存最后和的变量中加一个数据
- 案例一、求1+2+3+...+100
sum1 = 0
for x in range(1,101):
sum1 += x
print(sum1)
- 案例二、求100-200中所有能被3整除的但不能被5整除的和
sum = 0
for i in range(100,201):
if i % 3 == 0 and i % 5 != 0 :
sum += i
print(sum)
- 案例三、求分数列表中所有学生的总分
scores = [90, 45, 78, 92, 89, 74, 50, 91, 99, 80, 87, 63, 82]
sum_2 = 0
for i in scores:
sum_2 += i
print(sum_2)
4.2 统计个数
- 案例、统计scores中不及格分数的个数
count = 0
scores = [90, 45, 78, 92, 89, 74, 50, 91, 99, 80, 87, 63, 82]
for i in scores:
if i < 60:
count += 1
print(count)
5、while循环
5.1 语法
while 条件语句:
循环体
5.2 说明
while -关键字;固定写法
条件语句 -一般是判断语句(实际上可以写任何有结果的表达式)
循环体 -结构上,适合while保持一个缩进的一条或者多条语句;逻辑上,循环体就是需要重复执行的代码
5.3 循环原理
不断判断条件语句是否成立,如果成立就执行循环体,条件不成立整个循环结束
i = 0
while i < 5:
print('hello word')
i += 1
'''
hello word
hello word
hello word
hello word
hello word
'''
5.4 for和while的选择
遇到循环问题时能用for解决的就用for,解决不了用while,for循环解决不了循环次数不确定的时候使用while循环,循环次数不确定:循环次数由程序使用的时候用户的行为
# 案例:写程序提示用户输入密码,知道输入正确为止
pw = '123'
value = None
while value != pw:
value = input('请输入密码:')
print(value)
6、循环关键字
6.1 continue和break
结束循环( 只能在循环中使用)
- continue,结束一次循环(执行循环体的时候如果遇到continue这次循环结束直接进入到下次循环)
for x in range(5):
print('hello word')
continue
print('hhh')
'''
hello word
hello word
hello word
hello word
hello word
'''
for x in range(1,11):
if x % 3 == 0:
continue
print(x)
'''
1
2
4
5
7
8
10
'''
- break,结束整个循环(执行循环体时如果遇到break整个循环直接结束,这次没有执行的部分不再执行,也不进入下一次循环)
for x in range(5):
print('hello word')
break
print('hhh')
#hello word
for i in range(10,20):
print(i)
if i % 4 == 0:
break
'''
10
11
12
'''
for i in range(10,20):
if i % 4 == 0:
break
print(i)
'''
10
11
'''
6.2 else
'''
完整的for循环
for 变量 in 序列:
循环体
else:
代码块
'''
'''
完整的while循环
while 条件语句:
循环体
else:
代码块
else的存在不会影响循环的执行
else的代码块会在上面的循环正常结束后执行,如果上面的循环是因为遇到
break而结束,else中的代码就不会执行
'''
str = '123456'
for i in str:
if not '0' <= i <='9':
print(str,'不是纯数字字符串')
break
else:
print(str)