一、程序的组织结构
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)
执行结果如下: