在程序里预设一些条件判断语句,满足哪个条件,就走哪条路。这个过程就叫流程控制。
if…else语句
单分支:
if 条件:
满足条件后要执行的代码
双分支:
"""
if 条件:
满足条件执行代码
else:
if条件不满足就走这段
"""
age = 18
if age > 16 :
print("oh!! so younger! I like it")
else:
print("zhen tm old!")
多分支:
if 条件:
满足条件执行代码
elif 条件:
上面的条件不满足就走这个
elif 条件:
上面的条件不满足就走这个
elif 条件:
上面的条件不满足就走这个
else:
上面所有的条件不满足就走这段
#猜年龄大小小代码
age = 18
you_guess = int(input(">>>: "))
if you_guess > age :
print("猜的太大了,往小里试试...")
elif you_guess < age :
print("猜的太小了,往大里试试...")
else:
print("恭喜你,猜对了...")
基本循环
while 条件:
# 循环体
# 如果条件为真,那么循环体则执行
# 如果条件为假,那么循环体不执行
while True:
print('凯爷')
print('小鲁班')
print('吕布')
print('韩信') #执行结果会一直循环,只要电脑不死机
终止循环
# 利用改变条件,终止循环-------标志位
flag = True
while flag:
print('凯爷')
print('小鲁班')
print('吕布')
flag = False
print('韩信') #执行结果会打印完一轮,然后停止循环
#使用while循环求出1-100所有数的和.
i = 1
s = 0
while i <= 100:
s += i
i += 1
print(s) # 5050
# 关键字:break。循环中,只要遇到break马上退出循环
while True:
print('凯爷')
print('小鲁班')
print('吕布')
break
print('韩信')
#输出结果:
凯爷
小鲁班
吕布
#打印1~100所有的偶数
#方法一:
count = 1
while True:
if count % 2 == 0:
print(count)
count = count + 1
if count == 101:
break
#方法二:
i = 1
while i <= 100:
if i%2 == 0:
print(i)
i += 1
# 关键字:continue。 continue 用于终止本次循环,继续下一次循环
#使用while循环打印 1 2 3 4 5 6 8 9 10
i = 0
while i < 10:
i += 1
if i == 7:
continue
print(i)
#输出1,2,3,4,5,195,196,197,198,199,200
i = 0
while i < 200:
i += 1
if i > 5 and i < 195: #只要count在6-194之间,就不走下面的print语句,直接进入下一次loop
continue
print(i)
while…else…语句
while 后面的else 作用是指:当while 循环正常执行完,中间没有被break 中止的话,就会执行else后面的语句
# eg:
i = 0
while i < 3:
i += 1
print("山药",i)
else:
print("循环正常执行OK.....")
print("-------out of end 山药 --------")
#输出结果:
山药 1
山药 2
山药 3
循环正常执行OK.....
-------out of end 山药 --------
#加入break的情况
i = 0
while i < 3:
i += 1
if i == 3:
break
print("山药",i)
else:
print("循环正常执行OK.....")
print("-------out of end 山药 --------")
#输出结果:
山药 1
山药 2
-------out of end 山药 --------
用户按照顺序循环可迭代对象的内容。
msg = '山药yam是全世界最好的壮阳食物'
for item in msg:
print(item)
l1 = ['山药','韭菜','枸杞','deer','fish']
for i in l1:
print(i)
dic = {'name':'山药','kind':'壮阳食物','编号':'120'}
for k,v in dic.items():
print(k+': '+v)
# 输出结果:
name: 山药
kind: 壮阳食物
编号: 120
enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中
语法:
enumerate(sequence, [start=0])
参数:
sequence -----> 一个序列、迭代器或其他支持迭代对象。
start ----------> 下标起始位置
li1 = ['山药','枸杞','韭菜']
for i in enumerate(li1):
print(i)
#输出结果:
(0, '山药')
(1, '枸杞')
(2, '韭菜')
for index,name in enumerate(li1,1): # 起始位置默认是0,可更改
print(index,name)
# 输出结果:
1 山药
2 枸杞
3 韭菜
for index, name in enumerate(li1, 10): # 起始位置默认是0,可更改
print(index, name)
# 输出结果:
10 山药
11 枸杞
12 韭菜
range:指定范围,生成指定数字,一般用在 for 循环当中
for i in range(1,6):
print(i)
# 输出结果:
1
2
3
4
5
for i in range(1,6,2): # 步长
print(i)
# 输出结果:
1
3
5
for i in range(6,1,-2): # 反向步长
print(i)
# 输出结果:
6
4
2
l1 = ['shanyao', 'gouqi', 'jiucai', '120', 222, 777]
for i in range(len(l1)):
print(i)
# 输出结果:
0
1
2
3
4
5