• 流程控制


    Date: 2019-05-27

    Author: Sun

    1.条件语句

    Python中提供的条件语句:if else语句,switch语句

    if else语句

    1.1 单一分支

    if 条件表达式:
        【代码块】
     【后续代码】
    执行流程:如果条件表达式为真,则执行【代码块】。否则不执行,直接执行if语句后面的【后续代码】
    

    eg:

    # -*- coding: utf-8 -*-
    __author__ = 'sun'
    __date__ = '2019/5/27 10:43'
    
    number = int(input("Enter a number: "))
    if number < 100:
        print("The number is less than 100")
    print("process finish!")
    

    1.2 双向分支

    if 条件表达式:
        【语句块A】
    else:
        【语句块B】
    【后续代码】
    执行流程:如果条件表达式为真,执行【语句块A】然后执行【后续代码】,否则执行【语句块B】,然后再执行【后续代码】,二选一,不可能既执行A有执行B
    

    eg:

    # -*- coding: utf-8 -*-
    __author__ = 'sun'
    __date__ = '2019/5/27 10:43'
    
    number = int(input("Enter a number: "))
    if number < 100:
        print("The number is less than 100")
    else:
        print("The number is more than 100")
    print("process finish!")
    

    1.3 多向条件分支

    if 条件1:
        【代码段1】
    elif 条件2:
        【代码段2】
    elif .....
    	【代码段n】
    else:
       【else语句块】
    【后续代码】
    执行流程:多选一,如果满足条件1,执行【代码段1】,然后跳出if-elif语句,执行【后续代码】,否则判断是否满足条件2,如果满足执行【代码段2】,然后跳出if-elif语句,执行【后续代码】...。如果所有条件都不满足,执行【else语句块】,然后再执行【后续代码】。
    注意:else是可选的,可以写也可以不写。
    

    eg:

    # -*- coding: utf-8 -*-
    __author__ = 'sun'
    __date__ = '2019/5/27 10:43'
    
    number = int(input("Enter a number: "))
    if number < 100:             #number < 100
        print("The number is less than 100")
    elif number < 200:           #  100 <= number < 200
        print("the number is between 100 and 200")
    elif number < 1000:          # 200 <= number < 1000
        print("the number is between 200 and 1000")
    else:
        print("The number is more than 1000")
    print("process finish!")
    

    switch语句

    ​ 我们知道Python中没有类似C++或者Java中的switch...case语句,我们可以使用多个if...elif...else进行模拟,但是这样的写法让代码看起来很凌乱,个人不是很推荐在代码中大量使用if语句。

    switch(n)
    {
    case 1:
      执行代码块 1
      break;
    case 2:
      执行代码块 2
      break;
    default:
      n 与 case 1 和 case 2 不同时执行的代码
    }
    

    案例:将英文日期翻译为中文日期

    # -*- coding: utf-8 -*-
    __author__ = 'sun'
    __date__ = '2019/5/27 10:43'
    
    dates = {
        'Sun': '星期天', 'Mon': '星期一', 'Tues': '星期二', 'Wed': '星期三',
        'Thurs': '星期四', 'Fri': '星期五', 'Sat': '星期六'}
    
    day = dates.get('Fri', '未知')      #&& 此处采用get方法,很重要,没有取到值的话,就取“未知”
    print(day)  # 输出结果为星期五
    

    2.循环语句

    Python中提供的循环语句:while语句,for语句

    广义:一个周期现象或者重复出现的情况,这种状态被称为循环

    狭义:在满足条件的情况下,反复执行某一段代码,在编程语言中出现的这种现象被称为循环。被反复执行的这段代码被称为循环体

    当反复执行某段代码时,需要在合适的时机将循环停止下来,否则会产生死循环

    2.1.for-in循环

    语法:

    for 变量名 in 列表:

    ​ 语句

    说明:主要用于遍历列表【遍历:依次访问列表中的每一个元素,获取元素值】

    工作原理:按照顺序获取列表中的每个元素,赋值给变量,再执行语句,以此类推,直到列表中的元素全部获取为止

    #只能获取元素,不能得到元素的下标
    for value in list1:
        print(value,end=' ')
    #index表示下标,num表示元素值
    #enumerate将列表变成一个索引序列,同时包含下标和数据
    for index,num in enumerate(list1):
        print(index,num)
    
    

    案例:列举出个人喜欢的几本编程书籍

    # -*- coding: utf-8 -*-
    __author__ = 'sun'
    __date__ = '2019/5/27 11:13'
    
    books = ['python', 'java', 'go', 'h5']
    #for index in range(len(books)):
    for index, book  in enumerate(books):
        print(f'第{index+1}本, 书籍 :{books[index]}')
    
    print("yes,i want study all!")
    
    

    2.2 while语法

    while 表达式:
        循环体
    
    

    工作原理:遇到while语句时,首先计算表达式的值,如果表达式的值为假,则跳过整个while语句,继续执行下面的代码;如果表达式的值为真,则执行循环体

    # -*- coding: utf-8 -*-
    __author__ = 'sun'
    __date__ = '2019/5/27 10:43'
    ticket = 1000
    
    while (ticket > 0):
        print(f'current sale the ticket: {ticket}')
        ticket = ticket - 1
    
    

    2.2 while-else

    while 表达式:
    	循环体
    else:
        【else语句块】
    
    

    说明:当while语句执行完成之后,执行【else语句块】

    2.3 死循环

    在循环语句中,表达式永远为真的循环

    while True:
    	#循环体
     
    while 1:
    	#循环体
    
    

    2.4 while语句的嵌套

    while 条件1:     #外层循环
    	 【语句块A】
    	  while 条件2:   #内存循环
    			【语句B】
    
    

    工作流程:首先判断外层循环的条件1,如果为真,则执行循环体中的【语句块A】,执行内层循环,判断条件2是否成立,如果成立,执行内层循环的【语句块B】,执行完内层循环后,重新判断外层循环条件....

    • 特点:外层循环走一步,内层循环执行一遍
    • 外层循环和内层循环的循环变量必须不同

    作业:

    ​ 打印九九乘法表

    2.5. break和continue、exit()

    ​ continue 语句用来跳过当前循环的剩余语句,然后重新判断循环条件,开启下一轮循环。continue只能出现在while和for循环中

    ​ break用于结束当前循环。

    exit()结束程序

    还是上述卖票程序,我们如果需求改变的话

    场景1: 我们除了第10张票不卖,其他的1000张票都卖?

    # -*- coding: utf-8 -*-
    __author__ = 'sun'
    __date__ = '2019/5/27 10:43'
    ticket = 1000
    counter = 0
    
    while (ticket > 0):
        counter += 1
        if counter == 10:
            ticket = ticket -1
            continue
        print(f'{counter},current sale the ticket: {ticket}')
        ticket = ticket - 1
    
    

    思考问题:

    ​ 如果我们只卖出1000张票中的900张?自行设计?

    案例:剪刀石头布游戏

    思考问题:

    上述石头剪刀布游戏,如果采用三局两胜制游戏规则,如果改写?

  • 相关阅读:
    php wamp 配置虚拟主机
    php xml 操作。
    第一个输入框中 输入 test,第二个输入框中自动出现 test.baibu.com
    正则表达式 手机号码的验证
    JQery 设置 退格键 不可用 jQery 中的keydown 事件
    YII 片段缓存如何实现。
    php set_time_limit() 函数
    VLAN
    进程
    802.11无线网络权威指南
  • 原文地址:https://www.cnblogs.com/sunBinary/p/10934177.html
Copyright © 2020-2023  润新知