• python-if条件判断与while/for循环


    条件判断if

      让计算机像人一样,能判断是非对错,根据条件做一些事情。

      if

    '''
    ------ if代码结构:-------
    if 条件:
        代码体
    
    tips:同一缩进范围内的代码被视作同一代码体,python官方推荐python缩进一次为4个空格
    '''
    is_happy = True
    if is_happy:
        print("Nice to meet you!")
    # Nice to meet you!

      if else

     1 '''
     2 ------ if代码结构:-------
     3 if 条件:
     4     代码体
     5 else:
     6     代码体
     7 
     8 tips:当不满足if 的条件时就会执行到else ,运行else 中的代码
     9 
    10 '''
    11 is_happy = False
    12 if is_happy:
    13     print("Nice to meet you!")
    14 else:
    15     print("Today is a bad day!")
    16 # Today is a bad day!

      if elif else

     1 '''
     2 ------ if代码结构:-------
     3 if 条件:
     4     代码体
     5 elif 条件:
     6     代码体
     7 else:
     8     代码体
     9 
    10 tips:当不满足if 的条件时就会执行到下一个elif....如果接着的都不满足,那最后执行到else 
    11 
    12 '''
    13 math_score = 99
    14 if math_score >= 90:
    15     print("优秀")
    16 elif math_score >= 80:
    17     print("良好")
    18 elif math_score >= 60:
    19     print("一般")
    20 else:
    21     print("很遗憾,未及格!")
    22 # 优秀

    if 嵌套

    # if可以多级嵌套,注意缩进
    math_score = 99
    if math_score >= 90:
        if math_score > 100:
            print("您的输入有误,请输入正确的分数(0~100)!")
        else:
            print("优秀")

    循环

      使用循环来替代重复往返的动作

    while循环

      while

    '''
    while 条件:
        代码体
    tips:不要忘了 条件后面的 :
          代码体需要缩进4个空格
    '''
    i = 1
    while i < 4:
        print(i)
        i += 1
    # 1
    # 2
    # 3

      死循环

    # 死循环,使CPU 一直处于运算状态
    i = 1
    while True:
        i += 1
    
    # 虽然也是 while True 但因其要等待用户输入信息才进入下一轮循环,并非死循环
    while True:
        input("请输入信息")

      while else

     1 # ---------------对于while else 结构:--------------------
     2 # 当while 循环正常循环(执行)完毕没有遇到break 后会进入else 中
     3 
     4 i = 1
     5 while i < 4:
     6     if i == 2:
     7         i += 1
     8         continue
     9     print(i)
    10     i += 1
    11 else:
    12     print("while 循环正常执行结束,没有遇到break 提前退出")
    13 
    14 # 1
    15 # 3
    16 # while 循环正常执行结束,没有遇到break 提前退出
    17 
    18 # 遇到break 退出循环,则不会进入到else 中
    19 i = 1
    20 while i < 4:
    21     if i == 2:
    22         i += 1
    23         break
    24     print(i)
    25     i += 1
    26 else:
    27     print("while 循环正常执行结束,没有遇到break 提前退出")
    28 # 1

      break:退出本层循环

      continue:结束本次循环,直接进入下一次循环

     1 i = 1
     2 while i < 6:
     3     if i == 3:
     4         i += 1
     5         break
     6     print(i)
     7     i += 1
     8 print(i)
     9 # 1
    10 # 2
    11 # 4
    12 # 执行到i == 3的if 语句时就退出了整个循环, 后面的i 只到了4 (i == 3 的时候执行了if i == 3 中的 i += 1)
    13 
    14 i = 1
    15 while i < 6:
    16     if i == 3:
    17         i += 1
    18         continue
    19     print(i)
    20     i += 1
    21 print(i)
    22 # 1
    23 # 2
    24 # 4
    25 # 5
    26 # 6
    27 # 执行到i == 3的if 语句时就退出了本次循环,直接重新进入到了 while i < 6 这里开始下一次循环

    for循环

      for 

    '''
    ------for代码结构:-------
    for 条件:
        代码体
    
    tips:  for的末尾要写 :
            不要漏了代码体的缩进(4各个空格)
    '''
    for i in range(1, 4):
        print(i)
    # 1
    # 2
    # 3

      range()函数

    '''
    ------- range()函数 ---------
    python 2.x: range()   xrange()
        调用range()函数会生成一个列表
        调用xrange()函数会生成一个迭代器对象,只有在使用的时候才会取出里面的对象
    python 3.x: range()
        同python 2.x 中的 xrange()函数
    '''

      break、continue: 与while 循环中一致

      for else:当for 循环正常执行结束没有遇到break 时会进入 else

    # ---------------对于for else 结构:--------------------
    #   当for 循环正常循环(执行)完毕没有遇到break 后会进入else 中
    
    for i in range(1, 4):
        if i == 2:
            continue
        print(i)
    else:
        print("for 循环正常执行结束,没有遇到break 提前退出")
    
    # 1
    # 3
    # for 循环正常执行结束,没有遇到break 提前退出
    
    # 遇到break 退出循环,则不会进入到else 中
    for i in range(1, 4):
        if i == 2:
            break
        print(i)
    else:
        print("for 循环正常执行结束,没有遇到break 提前退出")
    # 1

    多重循环(循环嵌套)

     1 # 退出双层循环的while循环嵌套
     2 user_db = 'abc'
     3 pwd_db = '123'
     4 flag = True
     5 while flag:
     6     inp_user = input('username>>>: ')
     7     inp_pwd = input('password>>>: ')
     8     if inp_user == user_db and pwd_db == inp_pwd:
     9         print('login successful')
    10         while flag:
    11             cmd = input('请输入你需要的命令:')
    12             if cmd == 'q':
    13                 flag = False
    14                 break
    15             print('%s功能执行'%cmd)
    16     else:
    17         print('username or password error, please input again!')
    18 print('退出了while循环')

      技巧:定义标志位 flag 跳出多重循环

    小案例

       九九乘法表 

    for i in range(1, 10):
        for j in range(1, i+1):
            print("%d * %d = %2d	" %(i, j, i*j), end='')
        print()
    # 1 * 1 =  1    
    # 2 * 1 =  2    2 * 2 =  4    
    # 3 * 1 =  3    3 * 2 =  6    3 * 3 =  9    
    # 4 * 1 =  4    4 * 2 =  8    4 * 3 = 12    4 * 4 = 16    
    # 5 * 1 =  5    5 * 2 = 10    5 * 3 = 15    5 * 4 = 20    5 * 5 = 25    
    # 6 * 1 =  6    6 * 2 = 12    6 * 3 = 18    6 * 4 = 24    6 * 5 = 30    6 * 6 = 36    
    # 7 * 1 =  7    7 * 2 = 14    7 * 3 = 21    7 * 4 = 28    7 * 5 = 35    7 * 6 = 42    7 * 7 = 49    
    # 8 * 1 =  8    8 * 2 = 16    8 * 3 = 24    8 * 4 = 32    8 * 5 = 40    8 * 6 = 48    8 * 7 = 56    8 * 8 = 64    
    # 9 * 1 =  9    9 * 2 = 18    9 * 3 = 27    9 * 4 = 36    9 * 5 = 45    9 * 6 = 54    9 * 7 = 63    9 * 8 = 72    9 * 9 = 81    
    九九乘法表

       打印指定层数金字塔 

    num = int(input("输入层数 >>>:"))
    level = 0
    for level in range(1, num + 1):
        for i in range(num - level):
            print(" ", end='')
        for j in range(2 * level - 1):
            print("*", end='')
        print()
    #   输入5
    #     *
    #    ***
    #   *****
    #  *******
    # *********
    打印指定层数金字塔
  • 相关阅读:
    [每天解决一问题系列
    [每天解决一问题系列
    [每天解决一问题系列
    nodejs&mongo&angularjs
    [转]Express框架
    [转]Use HandleBars in Express
    10 Tips for Optimizing Your Website’s Speed
    One difference between AngularJS' $location and window.location
    Why does Http header contains "X-SourceFiles"?
    JavaScript数组常用方法
  • 原文地址:https://www.cnblogs.com/suwanbin/p/11121212.html
Copyright © 2020-2023  润新知