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)

  执行结果如下:

 

 

 

posted @ 2020-11-20 13:01  寒冰宇若  阅读(160)  评论(0编辑  收藏  举报