流程控制(Python)

Python的流程控制可以分为三类:顺序结构,分支结构,循环结构

顺序结构

    就是代码的执行顺序,Python代码的执行流程都是从上到下的执行顺序。如果中介执行的时候阻塞了,就不会继续往下执行,一直到阻塞结束会继续往下执行。

分支结构

    分支结构简单的代码执行到某一处位置的时候进行选择判断,来绝对顶继续往下执行的方向。经常用到的分支结构就是if语句。if语句是一个简单的逻辑执行顺序,通过一个判断条件来选择代码的执行位置。

if语句的三种形式:

(1)if 形式

(2)if-else形式

(3)if-elif-else形式

1:条件式判断
if 表达式:
    语句块

num = 100

if num > 50:
    print(num)




100

2:非此即彼得选择

if 表达式:
    语句块1
else:
    语句块2

num = 100
if num > 120:
    print(num)
else:
    print("小于120")



小于120

3:elif个数不限制;else可以省略不写;所有的互斥选择中最多只能执行一个

if 表达式1:
    语句块1
elif:
    语句块2
...
else:
    语句块n

if的嵌套

    在一个if语句的语句块可以继续添加一个if语句。同理内部一样可以继续添加,但是鉴于逻辑顺序不好理顺,我们一般不会添加太深的层次。下面通过一个排序来简单的了解一下if的嵌套。下面一个if嵌套来判断输入一个数是不是3得倍数,是不是5的倍数。

num = int(input("please enter"))
if num % 3 == 0:
    print(num, "是3的倍数", sep='')
    if num % 5 == 0:
        print(num, "是5的倍数", sep='')
else:
    print(num, "不是3的倍数,也不是5的倍数")



please enter30
30是3的倍数
30是5的倍数


循环结构

    当代码按照顺序执行的时候,执行到某一位置的时候进行条件判断,当满足条件时执行该语句的循环体,一直到不满足条件的时候跳过循环体继续往下执行代码。关于循环结构内置的是while和for两种,其中for可以用来进行循环逻辑,经常用到遍历某一容器,依次通过循环体来处理容器内元素。

while的形式和用法:

形式

while 循环条件:

    循环体

i = 1
num = 0
while i <= 100:
    num += i
    if i == 100:
        print(num)
    i += 1


5050

    用法:单个的循环周期为“循环条件-循环体”。循环流程:循环条件-循环体-循环条件-循环体...执行出口在循环条件,一旦循环条件不满足,跳出循环。关键字break:循环体中执行到该语句,直接跳出整个循环。continue:跳出本次循环继续下一个循环周期进行下一个循环。return:返回一个值,跳出整个循环。

for的形式和用法:

形式

for x in y:

    循环体

# range(10),可以指定起始位 range(2,10)
# 保存了产生连续整数的算法,可以节约空间
# 可以进行遍历,可以进行转换,

for i in range(10):
    print(i)

# 列表生成式
print([20 for i in range(1, 11)])
print([i for i in "abcdefg"])
print([i for i in range(1, 11) if i % 2 == 0])




0
1
2
3
4
5
6
7
8
9
[20, 20, 20, 20, 20, 20, 20, 20, 20, 20]
['a', 'b', 'c', 'd', 'e', 'f', 'g']
[2, 4, 6, 8, 10]

    语法:也是一种循环结构,经常用于遍历可迭代对象。主要应用于遍历,列表,字典,元组,集合,也可以用来使用便利集合,但是因为集合本身的顺序就是乱的,所以便利的顺序也不固定,每一次便利的顺序都都不一定。

循环嵌套模式

    同理在循环中也能够进行嵌套,while的循环体中可以插入while循环也可以插入for循环。在for循环中也是一样的道理,它的循环体中一样可以加入while循环for循环。

连个while循环打印一个有意思的图案:

i = 0
while i <= 10:
    n = 0
    while n <= i:
        print('*', end=" ")
        n += 1
    i += 1
    print()




* 
* * 
* * * 
* * * * 
* * * * * 
* * * * * * 
* * * * * * * 
* * * * * * * * 
* * * * * * * * * 
* * * * * * * * * * 
* * * * * * * * * * * 

两个for循环嵌套实现列表的排序:

# 列表排序实现
# 选择排序

lt = [8, 3, 6, 9, 5, 2, 4, 1, 7]
n = len(lt)
for i in range(n-1):
    for j in range(i, n):
        if lt[i] < lt[j]:
            lt[i], lt[j] = lt[j], lt[i]
print(lt)



[9, 8, 7, 6, 5, 4, 3, 2, 1]

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值