Python流程控制基础详解

基础流程控制

(一) 条件控制

if语句

每条if语句的核心都是一个值为True 或 False 的表达式,这种表达式称为条件测试。

Python根据条件测试的值是True 还是 Flase 来决定是否执行 if 语句中的代码。如果条件测试为 True ,Python 就执行紧跟在 if 语句后的代码 ;如果为False,python就忽略这些代码

检查是否相等

  • 相等运算符( == )

  • 不等运算符( != )

  • 检查多个条件

    1.使用 and 检查多个条件:

    要检查两个条件是否都为True,可使用关键字and将两个条件测试合而为一。如果每个条件测试都通过了,整个表达式就为True;如果至少一个条件测试没通过,整个表达式就为 False.

    2.使用 or 检查多个条件:

    关键字 or 也能够让你检查多个条件,但只要满足其中一个条件,就能通过整个条件测试。当且仅当所有条件测试都没通过时,使用 or 的表达式才为 False

    检查特定的值是否在列表中

    在:in

    不在: not in

    1.1 if 语句

    简单的If 语句只有一个条件测试和一个操作

    if conditional_test
        do something
    
    1.2 if else 语句

    条件测试没有通过时执行另一个操作

    如果满足条件的话就执行if,如果不满足就执行else下面的代码

    if 条件判断:
        代码
    else:
        代码
    
    age = int(input('请问你的年龄是多少'))
    
    if age>=18:
        print('满足条件时执行')
    else:
        print('不满足条件时执行')
    
    1.3 多分支结构 if …elif… else

    (仅适用于只有一个条件满足的情况下)

    elif 可以是多个

    if 条件:
        代码
    elif 条件:
        代码
    elif 条件:
        代码
    else:
        代码
    

    合理使用 if 语句(如果只想运行一个代码块,就用 if …elif… else语句;如果要运行多个代码块,就使用一系列独立的 if 语句

    如需要判断多个条件的结果等

    1.4 pass 语句

    pass是一个空语句,用来占位置

    当还没想好运行什么语句时用pass进行占位。

    bmi = float(input())
    
    if bmi<=18.4:
        pass
    elif bmi>=18.5 and bmi<=23.9:
        print('标准体重')
    elif bmi>=24.0 and bmi<=27.9:
        print('微胖')
    else:
        print('肥胖')
    
    1.5 检查特殊元素
    1.6 确定列表非空
    # if 列表名:
    #   print("如果列表非空执行")
    # else::
    #   print("如果列表为空执行")
    

    (二) 循环结构

    环:做重复的事情

    作用:避免代码冗余

    2.1 while循环

    当满足条件的时候一直执行,直到不满足就停止。

    while 条件(截止循环的条件):
        代码语句
        循环条件的更新
        
        
    a = 1
    while a<=10:
        print(f'第{a}次')
        a += 1
       
    死循环,无限循环
    while 1(True):
        print(f'这是第{n}次打印')
        n+=1
    
    n = 86
    while True:
        a = int(input('请输入一个整数输'))
        if a>n:
            print('你猜大了')
        elif a == n:
            print('你猜对了')
        else:
            print('你猜小了')
    
    2.2 for循序(遍历)

    for循环就是对循环的条件进行遍历。

    遍历:把每个节点都访问一遍,一条线依次访问。h e l l o

    for 变量名 in 可迭代对象:
        代码语句
    
    # for循环循环次数取决于对象的节点
    # for后面的变量名是可以不用赋值直接写
    # 可迭代对象包含:列表,元组,集合,字典,字符串,文件和生成器。
    # 遍历字典时得到的是键,通过键取值的方式可以打印键对应的值
    
    ls1 = [1,2,3,4,5,6]
    ls2 = (1,2,3,4,5,6)
    ls3 = {1,2,3,4,5,6}
    ls4 = {1:2,3:4,5:6}
    
    for i in ls1:
        print(i)
    
    for i in ls2:
        print(i)
    
    for i in ls3:
        print(i)
    
    for i in ls4:
        print(i)
        print(ls[i])
        
        
        
    ls4 = {1:'h',2:'e',3:'f'}
    
    for i in ls4:
        print(i)
        print(ls4[i])
    
    2.3 扩展

    break 语句可以跳出 for 和 while 的循环体。如果你从for 和 while 循环中终止,任何对应的循环 else 块将不执行。

    continue 语句被用来告诉 Python 跳过当前循环块中的剩余语句,然后继续进行下一轮循环。

    2.4 range函数:

    可以指定数字区间,打印数字区间的所有整数。

    for i in range(1,11):
            #包头不包尾
        print(i)
        
     for i in range(11):
            #步长是1的时候 可以省略开头默认从0开始,重点值不能省略
        print(i)
    
    for i in range(0,101,2):
            #打印0-100之间的偶数
        print(i)
    

    (三)组合用法

    嵌套
    3.1分支结构的嵌套
    if
        if
        elif
        else
    else
    
    #python成绩,大于90,可以参与抽奖活动。小于不能参与把python的课程复习一遍。抽奖号码的不同,有不同的奖励
    grade = float(input('请输入你成绩'))
    
    if grade>90:
        print('恭喜你可以抽奖啦')
        y = int(input('请输入抽奖号码'))
        if y==1:
            print('恭喜你,获得现金奖励200')
        elif y==2:
            print('恭喜你,获得电竞机械键鼠一套')
        elif y==3:
            print('恭喜获得奶茶一杯')
        else:
            print('很遗憾没中奖')
    else:
        print('很遗憾不能抽奖,请回去复习')
    
    3.2 循环结构的嵌套
    for 循环和 while
    
    for i in  range(1,6):
        day = 0
        while day<7:
            day+=1
            print(f'星期|{day}')
        print(f'今天是第{i}周')
    
    3.3分支结构循环嵌套

    for循环嵌套if

    singer = ['刘换','周杰伦','张杰','王力宏','陈奕迅','张碧晨','毛不易','许嵩','伍佰','王菲','那英']
    singer_3 = []
    for name in singer:
        if len(name)==3:
            singer_3.append(name)
    print(singer_3)
    # 把歌手名字是三个字的选出来放到新的列表里面
    

    while循环嵌套分支结构:

    ls = [12,35,37,24,46,2,5,76,567]
    cs = 0 # 计算的次数
    i = 0
    while cs< len(ls):
        print(ls[cs])
        cs+=1
        if ls[i]%2 == 0:
            print(f'{ls[i]}是偶数')
        i+=1
    
    3.4 循环终止语句

    break:完全结束整个循环

    continue:跳过本次循环,继续下一个循环

    for i in range(1,11):
        if i==3:
            print(f'今天请假了')
            continue
        print(f'请第{i}个员工开始工作10分钟')
    
    
    # 工厂流水线。
    num = 0
    while num<10:
        num+=1
        if num == 3:
            print('脚崴了,休息一会继续跑')
            continue
        print(f'跑了{num}圈')
    
    num = 0
    while num < 10:
        print(f'跑了{num}圈')
        num += 1
        if num == 3:
            print('脚崴了,今天跑不了了')
            break
    
    3.5 while – else

    果 while 后面的条件语句为 false 时,则执行 else 的语句块。

    语法格式如下:

    while <expr>:
        <statement(s)>
    else:
        <additional_statement(s)>
        
    #expr 条件语句为 true 则执行 statement(s) 语句块,如果为 false,则执行 additional_statement(s)。
    
    3.6 for … else

    在 Python 中,for…else 语句用于在循环结束后执行一段代码。

    语法格式如下:

    for item in iterable:
        # 循环主体
    else:
        # 循环结束后执行的代码
    

    当循环执行完毕(即遍历完 iterable 中的所有元素)后,会执行 else 子句中的代码,如果在循环过程中遇到了 break 语句,则会中断循环,此时不会执行 else 子句。


    快速加井号键注释: 选中之后–ctrl+?——pycharm。

    :ctrl+alt+l 自动排版。

    作者:落语凝心

    物联沃分享整理
    物联沃-IOTWORD物联网 » Python流程控制基础详解

    发表回复