• Python基础(三)--流程控制之if、while、for,break与continue


    一、流程控制之if……else……

    if语句是指编程语言中用来判定所给定的条件是否满足,根据判定的结果(真或假)决定执行给出的两种操作之一

    if 条件1:
    
        缩进的代码块
    
      elif 条件2:
    
        缩进的代码块
    
      elif 条件3:
    
        缩进的代码块
    
      ......
    
      else:  
    
        缩进的代码块
    # 如果:今天是Monday,那么:上班
    # 如果:今天是Tuesday,那么:上班
    # 如果:今天是Wednesday,那么:上班
    # 如果:今天是Thursday,那么:上班
    # 如果:今天是Friday,那么:上班
    # 如果:今天是Saturday,那么:出去浪
    # 如果:今天是Sunday,那么:出去浪
    
    
    #方式一:
    today=input('>>: ')
    if today == 'Monday':
        print('上班')
    elif today == 'Tuesday':
        print('上班')
    elif today == 'Wednesday':
        print('上班')
    elif today == 'Thursday':
        print('上班')
    elif today == 'Friday':
        print('上班')
    elif today == 'Saturday':
        print('出去浪')
    elif today == 'Sunday':
        print('出去浪')
    else:
        print('''必须输入其中一种:
        Monday
        Tuesday
        Wednesday
        Thursday
        Friday
        Saturday
        Sunday
        ''')
    
    #方式二:
    today=input('>>: ')
    if today == 'Saturday' or today == 'Sunday':
        print('出去浪')
    
    elif today == 'Monday' or today == 'Tuesday' or today == 'Wednesday' 
        or today == 'Thursday' or today == 'Friday':
        print('上班')
    
    else:
        print('''必须输入其中一种:
        Monday
        Tuesday
        Wednesday
        Thursday
        Friday
        Saturday
        Sunday
        ''')
    
    
    #方式三:
    today=input('>>: ')
    if today in ['Saturday','Sunday']:
        print('出去浪')
    elif today in ['Monday','Tuesday','Wednesday','Thursday','Friday']:
        print('上班')
    else:
        print('''必须输入其中一种:
        Monday
        Tuesday
        Wednesday
        Thursday
        Friday
        Saturday
        Sunday
        ''')
    if...else语句示例

    二、流程控制之while……循环

    1. 为了不写重复代码,而且程序可以重复执行多次

    2. while循环语法

    while 条件:    
        # 循环体
     
        # 如果条件为真,那么循环体则执行,执行完毕后再次循环,重新判断条件。。。
        # 如果条件为假,那么循环体不执行,循环终止

    3. 循环嵌套与tag

    tag=True 
    
    while tag:
    
      ......
    
      while tag:
    
        ........
    
        while tag:
    
          tag=False

    练习:

    1 循环验证用户输入的用户名与密码
    2 认证通过后,运行用户重复执行命令
    3 当用户输入命令为quit时,则退出整个程序
    #实现一:
    name='egon'
    password='123'
    
    while True:
        inp_name=input('用户名: ')
        inp_pwd=input('密码: ')
        if inp_name == name and inp_pwd == password:
            while True:
                cmd=input('>>: ')
                if not cmd:continue
                if cmd == 'quit':
                    break
                print('run <%s>' %cmd)
        else:
            print('用户名或密码错误')
            continue
        break
    
    #实现二:使用tag
    name='egon'
    password='123'
    
    tag=True
    while tag:
        inp_name=input('用户名: ')
        inp_pwd=input('密码: ')
        if inp_name == name and inp_pwd == password:
            while tag:
                cmd=input('>>: ')
                if not cmd:continue
                if cmd == 'quit':
                    tag=False
                    continue
                print('run <%s>' %cmd)
        else:
            print('用户名或密码错误')
    View Code

     4 break与continue

    #break用于退出本层循环
    while True:
        print(123)
        break
        print(456)
    
    #continue用于退出本次循环继续下一次循环
    while True:
        print(123)
        continue
        print(456)

    5 while+else

    #与其它语言else 一般只与if 搭配不同,在Python 中还有个while ...else 语句,while 后面的else 作用是指,
    当while 循环正常执行完,中间没有被break 中止的话,就会执行else后面的语句
    count = 0
    while count <= 5 :
        count += 1
        print("Loop",count)
    
    else:
        print("循环正常执行完啦")
    print("-----out of while loop ------")
    输出
    Loop 1
    Loop 2
    Loop 3
    Loop 4
    Loop 5
    Loop 6
    循环正常执行完啦
    -----out of while loop ------
    
    #如果执行过程中被break啦,就不会执行else的语句啦
    count = 0
    while count <= 5 :
        count += 1
        if count == 3:break
        print("Loop",count)
    
    else:
        print("循环正常执行完啦")
    print("-----out of while loop ------")
    输出
    
    Loop 1
    Loop 2
    -----out of while loop ------
    View Code

    注意:while中一般会有一个count用来计数

    三、流程控制之for循环(迭代式循环)

    1 迭代式循环:for,语法如下
    
      for i in range(10):
    
        缩进的代码块
    
    2 break与continue(同上)
    
    3 循环嵌套
    for i in range(1,10):
        for j in range(1,i+1):
            print('%s*%s=%s' %(i,j,i*j),end=' ')
        print()
    打印九九乘法表
    '''
    
                 #max_level=5
        *        #current_level=1,空格数=4,*号数=1
       ***       #current_level=2,空格数=3,*号数=3
      *****      #current_level=3,空格数=2,*号数=5
     *******     #current_level=4,空格数=1,*号数=7
    *********    #current_level=5,空格数=0,*号数=9
    
    #数学表达式
    空格数=max_level-current_level
    *号数=2*current_level-1
    
    '''
    
    #实现
    max_level=5
    for current_level in range(1,max_level+1):
        for i in range(max_level-current_level):
            print(' ',end='') #在一行中连续打印多个空格
        for j in range(2*current_level-1):
            print('*',end='') #在一行中连续打印多个空格
        print()
    打印金字塔
  • 相关阅读:
    对Java总体上的认识
    HTML+CSS学习情况
    读过的书籍
    FSCapture[个人认为最好的截图工具]
    会使用的软件
    深入理解Java中的引用的含义与原理
    从头开始学JavaScript (三)——数据类型
    从头开始学JavaScript (二)——变量及其作用域
    从头开始学JavaScript(一)——基础中的基础
    【Head First Javascript】学习笔记0——自己制作chm参考手册素材
  • 原文地址:https://www.cnblogs.com/zhangbingsheng/p/9456922.html
Copyright © 2020-2023  润新知