程序的组织结构-顺序结构
任何算法都可以由顺序结构,选择结构(if),循环结构组合而成(while,for in)
顺序结构
程序从上到下执行代码,中间没有任何跳转和判断,直至程序结束
#顺序结构
'''把大象装冰箱分为几步
'''
print('--------程序开始---------')
print('-------1.打开冰箱----------')
print('-------2.把大象放里---------')
print('-------3.关上冰箱----------')
print('-------程序结束----------')
使用debug工具进行调试,单击打断点,下方有skep into和skep over 两个按步执行,前者回到函数里,后者直接跳过函数得出结果。
对象的布尔值
python一切皆对象,所有对象都有一个布尔值
可以通过bool()函数来获取布尔值
以下对象的布尔值是False
1.False
2.数值0
3.None
4.空字符串
5.空列表
6.空元组
7.空字典
8.空集合
代码如下:
#测试对象的布尔值
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()))#False 空列表
print(bool(()))#False 空元组
print(bool(tuple()))#False 空元组
print(bool({}))#False 空字典
print(bool(dict()))#False 空字典
print(bool(set()))#False 空集合
print('--------------以上对象的布尔值为False,其他对象的布尔值均为True---------------')
print(bool(18))#True
print(bool(True))#True
print(bool('helloworld'))#True
程序的组织结构-分支结构
单分支结构
if 条件表达式:
条件执行体
代码示例:
money=1000#余额
s=int(input('请输入取款金额'))
#判断余额是否充足
if money>=s:
money-=s
print('取款成功,余额为:',money)
双分支结构
if 条件表达式:
条件执行体1
else:
条件执行体2
代码示例:
#双分支结构if...else,二选一执行
'''从键盘录入一个整数,编写程序让计算机判断式技术还是偶数'''
num=int(input('请输入一个整数'))
#条件判断
if num%2==0:
print(num,'是偶数')
else:
print(num,'是奇数')
多分支结构
if 条件表达式1:
条件执行体1
elif 条件表达式2:
条件执行体2
elif 条件表达式N:
条件执行体N
else:
条件执行体N+1
'''多分支结构,多选一执行
从键盘录入一个整数成绩
90-100 A
80-89 B
70-79 C
60-69 D
0-59 E
小于0或大于100 为非法数据(不足成绩的有现范围)
'''
#*****************写法1***************************
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*********************************
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分支结构
if 条件表达式:
if内存条件表达式1:
内条件执行体1
else:
内条件执行体2
else:
内条件执行体
代码示例:
'''会员 >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 的简写
条件判断为True,就会执行左侧代码,如果为false,就会执行右侧代码
代码示例:
'''从键盘录入两个整数,比较两个整数的大小'''
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语句
什么都不做,只是个占位符,用在语法需要的语句上,先搭建语法结构,还没想好怎么写时使用
代码示例:
#pass语句什么都不做,只是一个占位符,遇到需要写语句的地方
answer=input('您是会员吗?y/n')
#判断是否会员
if answer=='y':
pass
else:
pass
学习总结:
为什么要在结构的学习过程中加一个对象的布尔值,其实判断语句就是一个对象,返回的就是一个布尔值,可以帮助我们在分支结构中,更好理解选择语句。
代码解释:
age=int(input('请输入您的年龄'))
if age:
print(age)
else:
print('年龄为:',age)
不积跬步无以至千里,不积小流无以成江海