流程控制
条件分支流程
- if-else
1. 语法:
1.
if 布尔表达式 :
代码
含义:如果布尔表达式为真,则执行代码,反之不执行
Python中的缩进,表示一层代码块(写代码的位置)
2.
if 布尔表达式:
代码1
esle:
代码2
含义:如果布尔表达式为真,执行代码1,如果布尔表达式为假,执行代码2
3.
if 布尔表达式:
代码1
elif 布尔表达式:
代码2
。。。
esle:
代码n
2. if嵌套问题
if-elif-else结构中,任意小结构,都可以进行嵌套
任意结构,可以嵌套if-elif-else
- assert 断言
1. 语法:
assert 布尔表达式
含义: 如果布尔表达式为真,程序正常执行,如果为假,报错:AssertionError
print('……………………')
a=int(input('请输入一个数字:'))
assert a>0
print('&&&&&&&&&&&&&&&&&&')
循环流程
- while 循环
1. 语法:
while 布尔表达式:
代码(循环体)
2. 含义:
while 执行时,先判断布尔表达式,如果结果为真,执行循环体,循环体执行完毕,循环不停止,重新判断布尔条件,如果为真,继续执行循环体,直到while 后的布尔表达式为假,才会停止循环
3. 死循环:
while 的条件恒为真
循环永不终止
死循环:服务器,软件
4. 有限次数循环:注意循环条件
循环条件小技巧:
找到结束的条件,取反
5. 如果不知道循环次数,建议使用while循环
# 请任意输入一个整数,输出这个整数所有的位数之和
# 任意输入一个整数:
n=int(input('请输入一个整数:'))
# 创建累加器,本质是变量,人为用于累加器
sums=0
while n!=0:
ge=n%10
sums+=ge
n//=10
print(sums)
- for循环
1. 语法:
for 变量 in 可迭代对象:
代码块(循环体)
2. 含义:
可迭代对象:拥有多个元素的对象
将可迭代对象的第一个元素,赋值给变量,执行循环体,执行完循环体后,并不停止,将第二个元素重新赋值给变量,再执行循环体,直到可迭代对象的所有元素,全部被访问完毕,循环结束
3. for循环,也称之为计数循环
如果有循环次数的限制,建议for循环
4. 循环次数:
可迭代对象的元素个数+1次(半次)
可迭代对象被for循环取值取了,元素个数+1次
循环体循环的次数:元素个数次
5. for循环中的变量
从头到尾,只创建了一次,么一次循环,都是将可迭代对象的元素,赋值给了同一个变量
# 请任意输入一个整数,输出这个整数所有的位数之和(for)
n=input('请输入一个数字:') # 123
sums=0
for i in n: # 1 2 3
sums+=int(i)
print(sums)
- range对象
1. range(stop):
返回一个range对象,并且每个元素分别为 0~stop-1 的数列
start不需要传入,默认取0
2. range(start,stop,[step]):
start:起始数值
stop:结束的数值
step:是可选的,默认是1,步长
返回一个range对象,每个元素分别为 start~stop-1 的数列(以step作为步长)
3. range的参数,通过不同的匹配,可以控制方向
4. range的所有参数,都应该是整型数据
##r=range(10) # 0~9
##
##for i in r:
## print(i)
##for i in range(0,10,2):
## print(i)
##for i in range(10,0,-2):
## print(i,end='')
for i in range(0,10,0.5):
print(i)
- break
跳出当前循环,其他循环不再执行
- continue
跳过本次循环,其他循环继续执行
# break
for i in range(10):
if i==5:
break
else:
print(i)
print('********************')
# continue
for j in range(10):
if j==5:
continue
else:
print(j)
循环嵌套
循环结构中可以嵌套循环结构
1. 内层循环,外层循环
# 打印5个星号
##for i in range(5): # 0 1 2 3 4 共多少行 行数
## for j in range(5): # 某一行 有多少个 列数
## print('*',end=' ')
## print()
##
n=int(input('请输入要打印的边长:'))
for i in range(1,n+1):
for j in range(i):
print('*',end=' ')
print()
# 技巧: for循环: 1. 次数(一般都会用到) 2. 变量值
# 如果循环中的变量要被内部使用,考虑变量的值是多少比较合适
*** 九九乘法表
for i in range(1,10): # 共多少行,每一次循环,执行某一行 i==2
for j in range(1,i+1): # 某一行具体发生了什么
print(str(j)+'*'+str(i)+'='+str(j*i),end=' ')
print()