• Day 5 流程控制 process control


    day5思维导图

    复习 if判断 If...else...

    1.基本用法

    完整语法

    if condition:
    statements1
    elif condition:
    statements2
    else:
    statements3

    2.注意点

    elif条件成立的前提一定是同层次前一句if不成立

    一 while循环 while loops

    Python has two primitive loop commands:

    • while loops

    • for loops

    With the while loop we can execute a set of statements as long as a condition is true.

    1.基本用法

    语法

    while condition:
    statements

    The while loop requires relevant variables to be ready, in this example we need to define an indexing variable, i, which we set to 1.

    例1:打印0~5的整数

    方法一:

    i = 0
    tag=True
    while tag:
      if i==5:
          tag=False
      print(i)
      i += 1

    方法二(另一种逻辑):

    i = 0
    tag=True
    while tag:
      print(i)
      i += 1
      if i==6:
          tag=False  

    方法三(精简):

    i = 0
    while i <= 5:
      print(i)
      i += 1

    2.死循环

    永远不会结束的循环

    死循环本身没有问题,但是如果死循环中没有I/O,只有纯运算,会消耗大量CPU

    3.结束while循环的两种方式

    方法一:条件给为false,见例1代码

    特点:不会马上退出循环

    方法二:使用break语句

    特点:马上就退出循环,不会执行本层循环余下的语句

    With the break statement we can stop the loop even if the while condition is true:

    i = 0
    while True:
      if i==6:
      break
      print(i)
      i += 1

     

    例2:登陆接口(实现输错3次结束)

    count = 0
    while count < 3:
      inp_username = input("请输入用户名:")
      inp_passwd = input("请输入密码:")
      if inp_username == "egon" and inp_passwd == "666":
          print("登陆成功")
          break
      else:
          print("登陆失败")
          count += 1

    登陆接口进阶版

    count = 0
    while count < 3:
      inp_username = input("请输入用户名:")
      inp_passwd = input("请输入密码:")
      if inp_username == "egon" and inp_passwd == "666":
          print("登陆成功")
          while True:
              print("""
              1 取款
              2 存款
              3 转账
              0 退出
              """)
              choice = input("请输入您的命令编号:")
              if choice == "0":
                  break
              elif choice == "1":
                  print("正在取款")
              elif choice == "2":
                  print("正在存款")
              elif choice == "3":
                  print("正在转账")
          break
      else:
          print("登陆失败")
          count += 1

    4.continue的用法

    用于结束本次循环

    注意点:continue同级别之后千万不能写代码,写了也不会运行

    With the continue statement we can stop the current iteration, and continue with the next:

    例3:打印0,1,3,,5

    逻辑1:(by Egon)

    i = 0
    while i < 6:
      if i == 2 or i == 4:
          i += 1
          continue
      print(i)
      i += 1

    逻辑2:(by myself)

    i = -1
    while i < 5:
      i += 1
      if i == 2 or i == 4:
          continue
      print(i)

    5.while和else连用

    With the else statement we can run a block of code once when the condition no longer is true:

    用途:例,用于登录验证,多个用户和文件中的比对

    二 for循环 for loops

    A for loop is used for iterating over a sequence (that is either a list, a tuple, a dictionary, a set, or a string)

    This is less like the for keyword in other programming languages, and works more like an iterator method as found in other object-orientated programming languages.

    With the for loop we can execute a set of statements, once for each item in a list, tuple, set etc.

    1.诞生原因

    简化while循环

    例4:打印列表中的内容

    方法一:使用while循环

    name = ["a", "b", "c", "d", "e"]
    i = 0
    while i < len(name):
      print(name[i])
      i += 1

    方法二:使用for循环

    name=["a","b","c","d","e"]
    for i in name:
      print(i)

    2.语法

    for iterating_var in sequence:
      statements(s)

    和字符串,列表,字典,元组,集合都可以连用

    3.基本用法

    例5:打印列表中的内容

    dict = {"k1": "111", "k2": "222", "k3": "333"}
    for x in dict:
      print(x, dict[x])

    4.与while相同用法

    • for+break

    • for+continue

    • for+else

    5.range(a,b,c)用法

    range后面跟的是包括第一个参数,不包括第二个参数,第三个参数为步阶

    To loop through a set of code a specified number of times, we can use the range() function,

    The range() function returns a sequence of numbers, starting from 0 by default, and increments by 1 (by default), and ends at a specified number.

    The range() function defaults to increment the sequence by 1, however it is possible to specify the increment value by adding a third parameter: range(2, 30, 3):

    补充:

    IO密集型与计算密集型

    涉及到网络运行有交互的,例如qq,微信,王者荣耀的基本为IO密集型

    视频转码,挖比特币等大量涉及计算操作的为计算密集型

    二手东

    https://www.zhihu.com/question/28486591

    会下蛋的老母鸡(python3中对range函数的优化)

    https://zhuanlan.zhihu.com/p/157218817

  • 相关阅读:
    MFC开发编程规范(二)
    Mysql日期和时间函数大全(转)
    php获取客户端IP地址的几种方法
    postgres 查看数据表和索引的大小
    PHP应用memcache函数详解
    css自动截取文字 兼容IE firefox Opera
    JavaScript在IE和Firefox浏览器下的7个差异兼容写法小结
    Zend_Auth与Zend_Acl访问控制链
    去除所有js,html,css代码问题
    [转]那些相见恨晚的 JavaScript 技巧
  • 原文地址:https://www.cnblogs.com/fengshili666/p/14168185.html
Copyright © 2020-2023  润新知