程序的组织结构
- 1996 年,计算机科学家证明了这样的事实:任何简单或复杂的算
法都可以由顺序结构、选择结构和循环结构这三种基本结构组合
而成
顺序结构
- 程序从上到下顺序地执行代码,中间没有任何的判断和跳转,直到程序结束
#顺序结构
'''把大象装冰箱一共分几步'''
print('---------程序开始----------')
print('1.把冰箱门打开')
print('2.把大象放冰箱里')
print('3.把冰箱门关上')
print('---------程序结束-------------')
对象的布尔值
- Python 一切皆对象,所有对象都有一个布尔值
- 获取对象的布尔值
- 使用内置函数 bool()
- 以下对象的布尔值为 False
- False
- 数值 0
- None
- 空字符串
- 空列表
- 空元组
- 空字典
- 空集合
- 获取对象的布尔值
#测试对象的布尔值
print('-----------------以下对象的布尔值为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([])) #空列表
print(bool(list())) #空列表
print(bool(())) #空元组
print(bool(tuple())) #空元组
print(bool({})) #空字典
print(bool(dict())) #空字典
print(bool(set())) #空集合
print('---------------------其它对象的布尔值均为True------------------------------------')
print(bool(18))
print(bool(True))
print(bool('helloworld'))
选择结构
- 程序根据判断条件的布尔值选择性地执行部分代码明确的让计算机知道在什么条件下,该去
做什么
单分支结构
- 中文语义: 如果 ...... 就 ....
- 如果你是妖怪,就该被孙悟空打
如果下雨,就带伞
如果是周六,就不上班
- 如果你是妖怪,就该被孙悟空打
- 语法结构:
- if 条件表达式:
- 条件执行体
- if 条件表达式:
代码演示
money=1000 #余额
s=int(input('请输入取款金额')) #取款金额
#判断余额是否充足
if money>=s:
money=money-s
print('取款成功,余额为:',money)
双分支结构
- 中文语义:如果 ...... 不满足 ...... 就 ....
- 如果中奖就领奖,没中奖就不领
如果是妖怪就打,不是就不打
如果是周末不上班,不是就上班
- 如果中奖就领奖,没中奖就不领
- 语法结构
- if 条件表达式:
- 条件执行体1
- else:
- 条件执行体2
- if 条件表达式:
代码演示
#双分支结构if...else ,二选一执行
'''从键盘录入一个整数 ,编写程序让计算机判断是奇数还是偶数'''
num=int(input('请输入一个整数'))
#条件判断
if num%2==0:
print(num,'是偶数')
else:
print(num,'是奇数')
多分支结构
- 中文语义
- 成绩是在 90 分以上吗?不是
成绩是 80 到 90 分之间吗?不是
成绩是 70 到 80 分之间吗?不是
成绩是 60 到 70 分之间吗?不是
成绩是 60 分以下吗?是
- 成绩是在 90 分以上吗?不是
- 语法结构
- if 条件表达式1:
- 条件执行体1
- elif 条件表达式2:
- 条件执行体2
- elif 条件表达式N:
- 条件执行体N
- [else:]
- 条件执行体N+1
- if 条件表达式1:
代码演示
'''多分支结构,多选一执行
从键盘录入一个整数 成绩
90-100 A
80-89 B
70-79 C
60-69 D
0-59 E
小于0或大于100 为非法数据(不是成绩的有效范围)
'''
score=int(input('请输入一个成绩:'))
#判断
if score>=90 and score<=100:
print('A级')
elif score>=80 and score<=89:
print('B级')
elif score>=70 and score<=79:
print('C级')
elif score>=60 and score<=69:
print('D级')
elif score>=0 and score<=59:
print('E级')
else:
print('对不起,成绩有误,不在成绩的有效范围')
代码演示2
'''多分支结构,多选一执行
从键盘录入一个整数 成绩
90-100 A
80-89 B
70-79 C
60-69 D
0-59 E
小于0或大于100 为非法数据(不是成绩的有效范围)
'''
score=int(input('请输入一个成绩:'))
#判断
if 90<=score<=100:
print('A级')
elif 80<=score<=89:
print('B级')
elif 70<=score<=79:
print('C级')
elif 60<=score<=69:
print('D级')
elif 0<=score<=59:
print('E级')
else:
print('对不起,成绩有误,不在成绩的有效范围')
嵌套 if
代码演示
'''会员 >=200 8折
>=100 9折
不打折
非会员 >=200 9.5折
不打折'''
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('不打折,付款金额为:',money)
else: #非会员
if money>=200:
print('打9.5折,付款金额为:',money*0.95)
else:
print('不打折,付款金额为:',money)
条件表达式
- 条件表达式是 if......else 的简写
- 语法结构 :
- x if 判断条件 else y
- 运算规则
- 如果判断条件的布尔值为 True ,条件表达式的返回值为 x ,否则条件表达式的返回
值为 False
- 如果判断条件的布尔值为 True ,条件表达式的返回值为 x ,否则条件表达式的返回
代码演示
'''从键盘录入两个整数,比较两个整数的大小'''
num_a=int(input('请输入第一个整数'))
num_b=int(input('请输入第二个整数'))
#比较大小
'''if num_a>=num_b:
print(num_a,'大于等于',num_b)
else:
print(num_a,'小于',num_b)
'''
print('使用条件表达式进入比较')
print( str(num_a)+'大于等于'+str(num_b) if num_a>=num_b else str( num_a)+'小于'+str(num_b) )
pass 语句
- 语句什么都不做,只是一个占位符,用在语法上需要语句的地方
- 什么时候使用 :
- 先搭建语法结构,还没想好代码怎么写的时候
- 哪些语句一起使用:
- if 语句的条件执行体
- for-in 语句的循环体
- 定义函数时的函数体
代码演示
#pass语句,什么都不做,只是一个占位符,用到需要写语句的地方
answer=input('您是会员吗?y/n')
#判断是否是会员
if answer=='y':
pass
else:
pass