• Python流程控制与循环


    一、if...else分支

    1、什么是if判断

      判断一个条件如果成立则如何,不成立则如何

    2、为何要有if判断

      让计算机能像人一样具有判断能力

    语法1:if...else

    1 if 判断条件:
    2   代码块1
    3 else:
    4   代码块2

    语法2:if嵌套

    1 if 条件1:
    2     if 条件2:
    3         代码块1
    4     代码块2

    语法3:if...elif...else

    1 if 条件1:
    2     代码块1
    3 elif 条件2:
    4     代码块2
    5 else:
    6     代码块3

    二、while 循环

    1、什么是循环

      循环指的是一个重复做某件事的过程

    2、为什么要有循环

      为了让计算机能够像人一样重复做某件事

    while 循环又叫条件循环,循环的次数取决于条件

    语法:

    1 while 判断条件:
    2     代码块

    上面这个循环是一个死循环,因为条件永远成立,会不停的执行下去,要想结束while循环,有两种方式:

    方式一:操作 while 循环的条件让其结束即设置一个标志位让其为 True,一旦想终止循环,让标志位为 False,等到下一次循环判断标志位不成立,就会结束循环

    方式二:break 强行终止本层循环

    例如:用户登录程序,登录失败超过三次则退出

    方式一:

     1 print("start...")
     2 count = 0
     3 
     4 while count < 3:
     5     username = input("Please input your username: ")
     6     password = input("Please input your password: ")
     7     if username == 'qiuxi' and username == '123':
     8         print('登录成功')
     9         break
    10     else:
    11         print('登录失败, 请重新登录')
    12         count += 1
    13         
    14 print('end....')
    运行结果:
    
    start...
    Please input your username: dsa
    Please input your password: dsa
    登录失败, 请重新登录
    Please input your username: ei
    Please input your password: qi
    登录失败, 请重新登录
    Please input your username: dsa
    Please input your password: d
    登录失败, 请重新登录
    end....

    方式二:

     1 print("start...")
     2 count = 0
     3 
     4 while True:
     5     if count == 3:
     6         print("输入错误过多")
     7         break
     8     username = input("Please input your username: ")
     9     password = input("Please input your password: ")
    10     if username == 'qiuxi' and password == '123':
    11         print('登录成功')
    12         break
    13     else:
    14         print('登录失败, 请重新登录')
    15         count += 1
    16 
    17 print('end....')
    运行结果:
    
    start...
    Please input your username: xi
    Please input your password: 534
    登录失败, 请重新登录
    Please input your username: ha
    Please input your password: ha
    登录失败, 请重新登录
    Please input your username: ca
    Please input your password: dsa
    登录失败, 请重新登录
    输入错误过多
    end....

    continue:表示结束本次循环,进入下一次循环

    1 # 打印1 2 3 5
    2 count = 1
    3 while count < 6:
    4     if count == 4:
    5         count += 1
    6         continue
    7     print(count, end=' ')    # end=' '表示使print不换行打印
    8     count += 1

    注意:continue的位置,不能将它作为循环体最后一步执行的代码,否则continue不会起到作业

    1 while True:
    2     print('11111')
    3     print('22222')
    4     print('33333')
    5     continue  # continue不起作用

    while - else的应用:当while循环正常执行完毕,不被break打断的情况下,会执行else语句的内容

     1 print("start...")
     2 count = 0
     3 while count < 3:
     4     username = input("Please input your username: ")
     5     password = input("Please input your password: ")
     6     if username == 'qiuxi' and username == '123':
     7         print('登录成功')
     8         break
     9     else:
    10         print('登录失败, 请重新登录')
    11         count += 1
    12 else:
    13     print("输错的次数过多")
    14 
    15 print('end....')
    运行结果:
    
    start...
    Please input your username: qi
    Please input your password: 43
    登录失败, 请重新登录
    Please input your username: ad
    Please input your password: jhg
    登录失败, 请重新登录
    Please input your username: cs
    Please input your password: 765
    登录失败, 请重新登录
    输错的次数过多
    end....

    while循环嵌套

     1 name_of_db = 'qiuxi'
     2 pwd_of_db = '123'
     3 print("start...")
     4 count = 0
     5 while count < 3:
     6     username = input("Please input your username: ")
     7     password = input("Please input your password: ")
     8     if username == name_of_db and password == pwd_of_db:
     9         print('登录成功')
    10         while True:
    11             print('''
    12                 1   浏览商品
    13                 2   添加购物车
    14                 3   支付
    15                 4   退出
    16             ''')
    17             choice = input("请输入你的操作: ")
    18             if choice == '1':
    19                 print("开始浏览商品...")
    20             elif choice == '2':
    21                 print("正在添加购物车...")
    22             elif choice == '3':
    23                 print("正在支付...")
    24             elif choice == '4':
    25                 break
    26         break
    27     else:
    28         print('登录失败, 请重新登录')
    29         count += 1
    30 else:
    31     print("输错的次数过多")
    32 
    33 print('end....')
    运行结果:
    
    start...
    Please input your username: qiuxi
    Please input your password: 123
    登录成功
    
                    1   浏览商品
                    2   添加购物车
                    3   支付
                    4   退出
                
    请输入你的操作: 1
    开始浏览商品...
    
                    1   浏览商品
                    2   添加购物车
                    3   支付
                    4   退出
                
    请输入你的操作: 2
    正在添加购物车...
    
                    1   浏览商品
                    2   添加购物车
                    3   支付
                    4   退出
                
    请输入你的操作: 3
    正在支付...
    
                    1   浏览商品
                    2   添加购物车
                    3   支付
                    4   退出
                
    请输入你的操作: 4
    end....

    上面的代码,要想终止循环,每一个while都需要对应一个break,不好配对,使用设置标志位即可控制所有循环终止条件。

     1 name_of_db = 'qiuxi'
     2 pwd_of_db = '123'
     3 print("start...")
     4 flag = True
     5 count = 0
     6 while flag:
     7     if count == 3:
     8         print("尝试次数过多")
     9         break
    10     username = input("Please input your username: ")
    11     password = input("Please input your password: ")
    12     if username == name_of_db and password == pwd_of_db:
    13         print('登录成功')
    14         while flag:
    15             print('''
    16                 1   浏览商品
    17                 2   添加购物车
    18                 3   支付
    19                 4   退出
    20             ''')
    21             choice = input("请输入你的操作: ")
    22             if choice == '1':
    23                 print("开始浏览商品...")
    24             elif choice == '2':
    25                 print("正在添加购物车...")
    26             elif choice == '3':
    27                 print("正在支付...")
    28             elif choice == '4':
    29                 flag = False
    30                 
    31     else:
    32         print('登录失败, 请重新登录')
    33         count += 1
    34 
    35 print('end....')
    运行结果:
    
    start...
    Please input your username: qiuxi
    Please input your password: 123
    登录成功
    
                    1   浏览商品
                    2   添加购物车
                    3   支付
                    4   退出
                
    请输入你的操作: 1
    开始浏览商品...
    
                    1   浏览商品
                    2   添加购物车
                    3   支付
                    4   退出
                
    请输入你的操作: 4
    end....

    四、for 循环

    Python的for循环主要用于取值,可以遍历任何序列的项目,如一个列表或者一个字符串。

    语法:

    1 for <variable> in <sequence>:
    2     <statements>
    3 else:
    4     <statements>

    range( ) 函数

    如果需要遍历数字序列,可以使用内置 range( ) 函数。它会生成数列,例如:

    range( )也可以指定区间的值:

    也可以使 range 以指定数字开始并指定不同的步长

     

    可以结合 range( ) 和 len( ) 函数以遍历一个序列的索引

    补充:Python2中 range( ) 和 Python3中 range( ) 的区别

      Python2中 range( ) 函数可创建一个整数列表

      

      Python3 range() 函数返回的是一个可迭代对象(后面会学到),而不是列表类型

      

       但是可以利用 list 函数返回列表

      

  • 相关阅读:
    js 常用方法
    Request.UrlReferrer
    批处理定时打开一个网页
    js基础知识总结:函数
    .NET DataTable转换为JSON格式的字符串
    .NET解析xml字符串,通过反射给实体类对象赋值,获取实体类数据列表
    .NET错误提示之:无法更新EntitySet“TableName”因为它有一个DefiningQuery
    python中安装web.py
    pycharm中运行flask项目安装flask
    jmeter--查看结果数中响应数据部分乱码
  • 原文地址:https://www.cnblogs.com/qiuxirufeng/p/9647602.html
Copyright © 2020-2023  润新知