Python流程控制语句

一、流程控制语句-------if

在程序里预设一些条件判断语句,满足哪个条件,就走哪条路。这个过程就叫流程控制。

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 条件:
    # 循环体
    # 如果条件为真,那么循环体则执行
    # 如果条件为假,那么循环体不执行

while True:
    print('凯爷')
    print('小鲁班')
    print('吕布')
    print('韩信')  #执行结果会一直循环,只要电脑不死机

终止循环

  1. 改变条件(根据上面的流程,只要改变条件,就会终止循环)。
  2. 关键字:break。
  3. 调用系统命令:quit(),exit() 。
  4. 关键字:continue(终止本次循环,继续下次循环)。
# 利用改变条件,终止循环-------标志位
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 山药 --------

三、流程控制语句------for循环

用户按照顺序循环可迭代对象的内容。

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
©️2020 CSDN 皮肤主题: 精致技术 设计师:CSDN官方博客 返回首页