• Python学习系列之数据结构(七)


    一、程序的组织结构
    1996年,计算机科学家证明了这样的事实:任何简单或复杂的算法都可以有顺序结构、选择结构和循环结构这三种基本结构组合而成

    二、程序的顺序结构

    顺序结构:程序从上到下顺序的执行代码,中间没有任何的判断和跳转,直到程序执行完成

    举例:

    #数据结构
    #顺序结构
    print('-------程序开始----------')
    print('1.把冰箱门打开')
    print('2.把大象放进去')
    print('3.把冰箱门关上')
    print('-------程序结束-----------')
    

      执行结果如下:

     解析:在程序执行的过程中,所有语句都是从上而下依次执行,中间没有任何的判断和跳转

    二、分支结构

    1.对象的bool值

    在Python中,以下对象的布尔值为False

    • False
    • 数值()
    • None
    • 空字符串
    • 空列表
    • 空元组
    • 空字典
    • 空集合

    除此之外,其它所有对象的bool值皆为True

    举例:

    #Python中以下对象的bool值为False
    print(bool(False))      #False
    print(bool(0))      #False
    print(bool(0.0))       #False
    print(bool(None))   #False
    print(bool(''))     #False
    print(bool(""))     #False
    print(bool([]))     #False
    print(bool(list()))     #空元组
    print(bool(tuple()))    #空元组
    

      执行结果如下:

     除此以外其它所有对象的值皆为True,举例:

    print(bool(10))
    print(bool(True))
    print(bool([2]))
    print(bool('aa'))
    print(bool("helloworld"))
    

      执行结果如下:

    2.分支结构

    2.1 单分支结构

    单分支结构就是只有一个判断,翻译成中文意思就是:如果.....就......

    举例:

    #选择结构-但分支结构
    money=1000
    s=int(input('请输入取款金额'))
    if money>=s:
        money=money-s  #减去取款金额后再赋值给money
        print('余额为:',money)
    

      执行结果为:

    2.2 双分支结构

    双分支结构是if...else...结构,就是二选一执行

    举例1:

    #选择结构-双分支结构
    money=1000
    s=int(input('请输入取款金额'))
    if money>=s:
        money=money-s
        print('余额为:',money)
    else:
        print("余额不足")
    

      执行结果如下:

     解析,此处有判断两种情形,先判断if的条件,如果不满足,则执行else里的语句,

    练习:

    从键盘录入一个数,判断是奇数还是偶数
    #从键盘录入一个数,判断是奇数还是偶数
    num=int(input('请输入一个整数:'))
    if num%2==0:
        print(num,'是偶数')
    else:
        print(num,'是奇数')
    

      执行结果如下:

    2.3 多分支结构

     多分支结构为:

    if 条件表达式1:

      条件执行体1

      elif 表达式2:

        条件执行体2

      elif 表达式3:

        条件执行体3

    else:

      条件执行体N

    举例:

       将考试分数进行分级,90-100分为A级,80-89为B级,70-79为C级,60-69为D级,0-59为E级,小于0大于100的不在评级范围之内。

    #分支结构-多分支
    s=int(input('请输入一个分数:'))
    if s>=90 and s<=100:
        print('A')
    elif s>=80 and s<=89:
        print('B')
    elif s >= 70 and s <= 79:
        print('C')
    elif s >= 60 and s <= 69:
        print('F')
    elif s>=0 and s<=59:
        print('E')
    else:
        print('输入有误,不在正确的分数范围')
    

      执行结果如下:

     上述代码在Python中有另一个写法:

    s=int(input('请输入一个分数:'))
    if 90<=s<=100:
        print('A')
    elif 80<=s<=89:
        print('B')
    elif 70<=s<=79:
        print('C')
    elif 60<=s<=69:
        print('F')
    elif 0<=s<=59:
        print('E')
    else:
        print('输入有误,不在正确的分数范围')
    

      此写法和上一种写法效果是一样的,而且更简便,但是只有Pyhton支持此种写法,其它语言不支持。

     2.4 分支结构嵌套if

    语法结构:
    if 条件表达式1:
      if 内层条件表达式1:
        内层条件执行体1
      else:
        内层条件执行体2
    else:
      条件执行体

    举例:

    商场消费打折促销,会员消费大于等于200元打8折,大于等于100元打9折,小于100元不打折,非会员消费满200元打9.5折,小于200元不打折

    代码如下:
    answer=input('请问您是会员吗?y/n')
    money=float(input('请输入您的购物金额:'))
    if answer=='y':
        if money>=200:
            print('打8折,您的购物金额为:',money*0.8)
        elif money>=100:
            print('打9折,您的购物金额为:', money * 0.9)
        else:
            print('消费金额小于100,不打折')
    else:
        if money>=200:
            print('非会员,消费金额大于等于200,打9.5折,消费金额为:',money*0.95)
        else:
            print('消费金额不足200元,不打折,您的消费金额为:',money)
    

      执行结果如下:

     

  • 相关阅读:
    嵌套矩形
    Multiplication Puzzle
    animate.css在vue项目中的使用
    服务器相关知识
    webpack-cli安装和插件的安装
    新买阿里云linux服务器如何设置账号密码xshell远程登陆
    主流请求库axios库的使用
    什么是回调函数
    js------match() 方法
    cookie
  • 原文地址:https://www.cnblogs.com/wx170119/p/14009890.html
走看看 - 开发者的网上家园