• 流程控制if、while、for


    if判断

      if判断想执行第一个条件,if后的判断必须是True

    1 什么是if判断
      判断一个条件如果成立则做...不成立则做....
    2 为何要有if判断
      让计算机能够像人一样具有判断的能力
    3 如何用if判断

    语法1:

      if 条件1:
        code1
        code2
        code3
        ......

    语法2:if-else

      if 条件:
        code1
        code2
        code3
        ......
      else:
        code1
        code2
        code3
        ......

    语法3:嵌套

       if 条件1:
        if 条件2:
          code1
          code2
          code3
        code2
        code3
        ......

    语法4:elif   

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

     代码练习

    score = input('your score>>: ')
    score=int(score)
    if score >= 90:  #不满足的必然小于90,elif只需要>=80就行,不用判断与90的关系
        print('优秀')
    elif score >= 80:
        print('良好')
    elif score >= 70:
        print('普通')
    else:
        print('很差')

     while循环判断

    1. 什么是循环
      循环指的是一个重复做某件事的过程

    2. 为何要有循环
      为了让计算机能够像人一样重复做某件事
    3. 如何用循环

    while循环的语法:while循环又称为条件循环,循环的次数取决于条件

         while 条件:
          子代码1
          子代码2
          子代码3

    登录账号密码验证:

    1  print('start....')
    2  while True:
    3      name=input('please your name>>: ')
    4      pwd=input('please your password>>: ')
    5      if name == 'egon' and pwd == '123':
    6          print('login successful')
    7      else:
    8          print('user or password err')
    9  print('end...')

    结束while循环的方式:

     方式一:操作while循环的条件让其结束

      控制条件的两种方式:

    判断count:
    count=1
    while count < 6:
         print(count)
         count+=1
    
    判断布尔
    tag=True
    count=1
    while tag:
         if count > 5:
             tag=False
         print(count)
         count+=1
     1  print('start....')
     2  tag=True
     3  while tag:
     4      name=input('please your name>>: ')
     5      pwd=input('please your password>>: ')
     6      if name == 'egon' and pwd == '123':
     7          print('login successful')
     8          tag=False
     9      else:
    10          print('user or password err')
    11 
    12  print('end...')

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

     1  print('start....')
     2  while True:
     3      name=input('please your name>>: ')
     4      pwd=input('please your password>>: ')
     5      if name == 'egon' and pwd == '123':
     6          print('login successful')
     7          break
     8      else:
     9          print('user or password err')
    10 
    11  print('end...')

    输错三次账号或密码直接退出

     1  方式一:
     2  print('start....')
     3  count=0
     4  while count <= 2: #count=3
     5      name=input('please your name>>: ')
     6      pwd=input('please your password>>: ')
     7      if name == 'egon' and pwd == '123':
     8          print('login successful')
     9          break
    10      else:
    11          print('user or password err')
    12          count+=1
    13 
    14  print('end...')
    15 
    16 
    17  方式二:
    18  print('start....')
    19  count=0
    20  while True:
    21      if count == 3:
    22          print('输错的次数过多傻叉')
    23          break
    24      name=input('please your name>>: ')
    25      pwd=input('please your password>>: ')
    26      if name == 'egon' and pwd == '123':
    27          print('login successful')
    28          break
    29      else:
    30          print('user or password err')
    31          count+=1
    32 
    33  print('end...')
    continue :结束本次循环,直接进入下一次
    break :结束本层循环
    count=1
     while count < 6:
         if count ==  4:
             count+=1 #如果不加一,会进入死循环
             continue # 只能在cotinue同一级别之前加代码,之后的代码不会执行
         print(count) #print 不能放在if之前,否则排除不了4
         count+=1
    
    
     while True:
         print('11111')
         print('22222')
         print('333')
         continue # 不应该将continue作为循环体最后一步执行的代码反正也会重新开始循环,相当于多此一举
    while+else count=1 while count < 6: if count == 4: break print(count) count+=1 else: print('会在while循环没有被break终止的情况下执行')#如果while循环被终止了的话,else后的代码不会执行

    输错三次则退出之while+else的应用代码:

     1  print('start....')
     2  count=0
     3  while count <= 2: #count=0,1,2  3的时候是第四次
     4      name=input('please your name>>: ')
     5      pwd=input('please your password>>: ')
     6      if name == 'egon' and pwd == '123':
     7          print('login successful')
     8          break
     9      else:
    10          print('user or password err')
    11          count+=1
    12  else:
    13      print('输错的次数过多')
    14 
    15  print('end...')
    while循环的嵌套,内部循环输入4,直接退出程序,即退出两个循环

    复杂版:
     1  name_of_db='egon'
     2  pwd_of_db='123'
     3  print('start....')
     4  count=0
     5  while count <= 2: #count=3
     6      name=input('please your name>>: ')
     7      pwd=input('please your password>>: ')
     8      if name == name_of_db and pwd == pwd_of_db:
     9          print('login successful')
    10          while True:
    11              print("""
    12              1 浏览商品
    13              2 添加购物车
    14              3 支付
    15              4 退出
    16              """)
    17              choice=input('请输入你的操作: ') #choice='1'
    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('user or password err')
    29          count+=1
    30  else:
    31      print('输错的次数过多')
    32 
    33  print('end...')
     简洁版:定义tag变量控制所有循环
     1 name_of_db='egon'
     2 pwd_of_db='123'
     3 tag=True
     4 print('start....')
     5 count=0
     6 while tag:
     7     if count == 3:
     8         print('尝试次数过多')
     9         break
    10     name=input('please your name>>: ')
    11     pwd=input('please your password>>: ')
    12     if name == name_of_db and pwd == pwd_of_db:
    13         print('login successful')
    14         while tag:
    15             print("""
    16             1 浏览商品
    17             2 添加购物车
    18             3 支付
    19             4 退出
    20             """)
    21             choice=input('请输入你的操作: ') #choice='1'
    22             if choice == '1':
    23                 print('开始浏览商品....')
    24             elif choice == '2':
    25                 print('正在添加购物车....')
    26             elif choice == '3':
    27                 print('正在支付....')
    28             elif choice == '4':
    29                 tag=False
    30 
    31     else:
    32         print('user or password err')
    33         count+=1
    34 
    35 print('end...')

    for循环主要用于循环取值

    普通方法:

    1 student=['egon','虎老师','lxxdsb','alexdsb','wupeiqisb']
    3 i=0
    4 while i < len(student):  #len为列表的方法,相当于Java中数组的长度方法
    5      print(student[i])
    6      i+=1 

    用for循环取值:

     1  student=['egon','虎老师','lxxdsb','alexdsb','wupeiqisb']
     2 
     3 #打印每一个列表元素
     4  for item in student:
     5      print(item)
     6 
     7  #打印字符串的每个字符
     8  for item in 'hello':
     9      print(item)
    10 
    11  #只能取出key,然后通过key来去对应的值   
    12  dic={'x':444,'y':333,'z':555}
    13  for k in dic:
    14      print(k,dic[k])
    15 
    16  #range:范围,1-10,取头不取尾,步数为3;
    17  for i in range(1,10,3):
    18      print(i)
    19  >>1,4,7
    20 
    21  #省略起点0,默认步长为1,结果是0-9,十个数
    22  for i in range(10):
    23      print(i)

    取出编号并对应老师名:

    1 student=['egon','虎老师','lxxdsb','alexdsb','wupeiqisb']
    2 for i in range(len(student)):#len(student)=5,即range(0,5),i=0,1,2,3,4
    3     print(i,student[i])

    运行结果:

      0 egon
      1 虎老师
      2 lxxdsb
      3 alexdsb
      4 wupeiqisb

  • 相关阅读:
    SEO优化笔记
    ie8兼容border-radius方法
    简易透明黑色背景
    attr属性
    滚动延迟加载数据
    .net变量判断
    js传值
    15.setInterval
    14.名字查找
    13.angular时间
  • 原文地址:https://www.cnblogs.com/xuechengeng/p/9647574.html
Copyright © 2020-2023  润新知