控制流程
一、程序的三大执行流程
1、顺序执行
#从上到下执行
print("====1====")
print("====2====")
print("====3====")
2、选择执行:if elif else
执行流程:
if 条件1:
条件1成立,需要做的事情
elif 条件2:
条件2成立,需要做的事情
else:
以上条件皆不成立时,需要做的事情
例:
a = 5
if a > 3:
print("====3====")
elif a == 3:
print("====2====")
else:
print("====1====")
- input: 输入执行
h = int(input("请输入你的身高(cm) : "))
if h >= 170:
print("模特身材")
elif 170 > h > 159:
print("完美身材")
else:
print("萝莉妹妹")
- 三目运算
把简单的判断更加简洁化.只能用在 if else 多条件不行
b = 5
if b > 5:
print(True)
else:
print(False)
#三目运算
print(True) if b > 5 else print(False)
#值1 if 判断语句 else 值2
3、循环执行:
while循环
执行流程:
whiel 条件
条件满足时执行的语句
(变量的处理,否则会死循环)
例:
whiel 条件
b = 5
while b > 3:
print(b) #会死循环
i = 1
while i <= 10:
print(i) #打印1到10
i += 1 #必须有变量处理,否则会死循环
#如果是判断一个列表中的数字
L = [1, 3, 5, 7, 9]
i = 0
while L[i] < 5: #如果>5的话 第一个元素是1会不满足条件
print(L[i]) #1 3
i += 1
#修正 上面代码如果列表中后面数字中还有小于5的数字不会打印
L = [1, 3, 5, 2, 9, 7, 4]
i = 0
while i < 7: # 7是列表的长度
if L[i] < 5:
print(L[i]) # 1 3 2 4
i += 1
#修正 上面代码不满足不同长度的列表
L = [1, 3, 5, 2, 9, 7, 4]
i = 0
while i < len(L): #满足不同列表长度
if L[i] < 5:
print(L[i])
i += 1
- 跳出循环break、continue、else:
例:
# break
L = [1, 3, 5, 2, 9, 7, 4]
i = 0
while i < len(L):
if L[i] == 2:
break #跳出循环 后面不会继续
if L[i] < 5:
print(L[i]) # 1 3
i += 1
# continue
L = [1, 3, 5, 2, 9, 7, 4]
i = 0
while i < len(L):
if L[i] == 2:
continue #跳出当前循环 继续后面
if L[i] < 5:
print(L[i]) # 但是会发生死循环
i += 1
# 修正 需要在进行判读前对i进行操作
#else
L = [1, 3, 5, 2, 9, 7, 4]
i = -1
while i < len(L) - 1:
i += 1
print(L[i])
else:
print("----end-----") #必须整个循环执行完了才能执行
for循环
for i in 可迭代对象:i 是元素 迭代就是循环取值
#列表 和元祖 一样
L = [1, 3, 5, 7]
for i in L:
print(i) #i是列表中的每个元素
#字典 特殊
L = {'k1': 'v1', 'k2': 'v2'}
for k, v in L.items():
print(k, v) #k1 v1 k2 v2
#for 也有死循环
L = [1, 3, 5, 7]
for i in L:
print(i)
L.append(1) #如果是可变对象,一定不要循环的往里面插入东西
- range() 可以自动生成列表
print(list(range(10))) #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
for i in range(1, 21): #(1, 21, 2) 是步长
print(i) #1到20
for i in range(1, 21):
if i % 5 == 0:
break
print(i) #1234 到能被5整除跳出循环
for i in range(1, 21):
if i % 5 == 0:
continue #能被5整除跳出循环到下一次循环
print(i) #12346..... 没有能被5整除的数字
for i in range(1, 21):
else:
print('----end---') #整个循环结束才能else
二、99乘法表
for i in range(1, 10): #行
for j in range(1, i + 1): #列
print("{1}*{0}={2:02d}".format(i, j, i*j), end=" ")
print()