python基础笔记3-程序的组织结构

顺序结构
对象的布尔值
python中一切皆对象,每个对象有一个布尔值(Ture or False)
获取对象的布尔值:使用函数 bool()
以下对象的布尔值为False:
bool(False)=bool(数值0)=bool(None)=False
空字符串,空列表,空元组,空字典,空集合
print('----------以下对象的布尔值为False,其他对象的布尔值为Ture-------------')
print(bool(False))#False
print(bool(0))#数值0的布尔值为False
print(bool(0.0))#数值0的布尔值为False
print(bool(None))#None的布尔值为False
print(bool(''))#空字符串的布尔值为False
print(bool([]))#空列表 False
print(bool(list()))#空列表的另一种表达形式
print(bool(()))# 空元组 False
print(bool(tuple()))# 空元组的另一种表达形式
print(bool({}))#空字典 False
print(bool(dict()))#空字典的另一种表达形式
print(bool(set()))#空集合
分支结构(选择结构)
程序根据判断条件的布尔值选择性的执行部分代码。
单分支结构:如果…就…
语法:
if 条件表达式:
条件执行体
双分支结构
语法:
if 条件表达式:
条件执行体1
else:
条件执行体2
若条件表达式为Ture ,则执行条件执行体1。否则执行2
a=int(input('请输入一个整数'))
if a%2==0:
print(a,'是偶函数')
else:
print(a,'是奇数')
多分支结构
多选1执行,若满足条件1则执行1,后续不再做判断;若不满足条件1,判断是否满足条件二,若满足则执行2,结束,否则…
else可写可不写
语法结构:
if 条件表达式1:
条件执行体1
elif 条件表达式2:
条件执行体2
...
elif 条件表达式N:
条件执行体N
[else:]
条件执行体N+1
'''多分支结构,多选一执行
从键盘录入整数成绩,判断范围:
100-90 A
80-89 B
70-79 C
60-69 D
0-59 E
小于0或大于100为非法数据(不是成绩的有效范围)
'''
score=int(input('请输入成绩:'))
#if score>=90 and score<=100:
if 90<=score<=100:#python中特有的表示方式,在其他程序中不能这么写
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('非法数据')
if的嵌套结构
外层条件判断结果为Ture 才有机会执行内层表达式
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('打八折:',0.8*money)
elif money>=100:
print('打九折:', 0.9*money)
else:
print('不打折:',money)
else:#非会员
if money>=200:
print('打0.95折:',0.95*money)
else:
print('不打折:', money)
条件表达式
if…else的简写
x if 判断条件
else y
运算规则:若判断条件为Ture,条件表达式的返回值为x,否则返回y
'''从键盘录入两个整数,比较两个整数的大小'''
num1=int(input('请输入整数'))
num2=int(input('请输入第二个整数'))
'''
if num1>=num2:
print(num1,'大于等于',num2)
else:
print(num1, '小于', num2)
'''
print('----------使用条件表达式--------')
print(num1,'大于等于',num2) if num1>=num2 else print(num1,'小于',num2)
运行结果:
pass语句
语句无实际作用,只是一个占位符,用在语法上需要语句的地方
搭建语法结构,没想好写什么代码时使用
如:
# pass语句,只是一个占位符,无实际作用
answer=input('您是会员吗')
if answer=='y':
pass
else:
pass
循环结构
range()函数
- 作用:生成一个整数序列
- 创建方式:
语法 | 作用 | 步长 |
---|---|---|
range(stop) | 创建1个(0,stop)之间的整数序列 | 1 |
range(start,stop) | 创建1个(start,stop)之间的整数序列 | 1 |
range(start,stop,step) | 创建1个(start,stop)之间的整数序列 | step |
#range()的三种方式
'''1.range(stop)'''
r1=range(10)
'''[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],未指定开始的数,默认从0开始;未指定步长,摩默认为1.
故range(10)代表从0开始步长为1生成10个整数'''
print(r1)
print(list(r1))#用于查看range对象中的整数序列,list是列表的意思
'''2.range(start,stop),'''
r2=range(1,10)#[1, 2, 3, 4, 5, 6, 7, 8, 9]取值区间为左闭右开,故到9结束
print(list(r2))
'''3.range(start,stop,step),'''
r3=range(1,10,2)#[1, 3, 5, 7, 9]取值区间为左闭右开,故到9结束;步长为2
print(list(r3))
- 返回值:1个迭代器对象
- range类型的优点:所有range对象占用的内存相同,与序列长短无关;只有用到range对象时才会计算序列的相关元素。
- in 和not in可以判断整数序列中是否存在指定的整数。
循环结构
while 循环
语法结构:
while 条件表达式:
条件执行体(循环体)
执行:
四步循环法:初始化变量;条件判断,条件执行体,改变变量
'''计算0到4的累加和'''
sum=0#存储累加和
a=0#1.初始化变量
while a<5:#2.条件判断
sum=sum+a#3.条件执行体
a=a+1#4.改变变量
print('和为',sum)
输出结果:10
例:
计算1到100的偶数和
sum=0
x=0#初始化变量
#条件判断
while x<=100:
#条件执行体
if x%2==0:
sum=sum+x
x+=1#改变变量
# sum=sum+x
# x=x+2
print('0到100之间的偶数和为:',sum)
for- in循环
in:从可遍历序列(字符串、序列)中依次取值(遍历过程)
**注意:**便利的对象必须是可迭代对象
语法结构:
#可迭代对象就是可遍历序列
for 自定义的变量 in 可迭代对象:
循环体
例:
for item in range(10):
print(item)
输出结果:
注意:如果循环体中不需要使用自定义变量,可将自定义变量写为"_"
使用for循环计算0-100的偶数和:
sum=0
for item in range(1,101):
if item%2==0:
sum+=item
print('0到100之间的偶数和为:',sum)
流程控制语句
break语句
用于结束循环体,直接退出循环。
通常与分支结构if一起使用
如:
从键盘录入密码,最多录入三次,如果录入正确,结束循环
for _ in range(0,3):
pwd=input('请输入密码:')
if pwd=='8888':
print('密码正确')
break
else:
print('密码不正确')
a=0
while a<3:
pwd=input('请输入密码:')
if pwd=='8888':
print('密码正确')
break
else:
a+=1#改变变量
运行结果:
continue语句
用于结束当前循环,进入下一次循环,通常与分支结构中的if一起使用
continue和break的区别:continue是结束循环,从头开始;break是直接退出循环
'''输出1-50之间所有5的倍数
5的倍数:和5的余数为0
反过来,不是5的倍数的数:与5的余数不是0的数
'''
for item in range(1,51):
if item%5==0:
print(item)
print('--------使用continue函数实现----------')
for item in range(1,51):
if item%5!=0:
continue
print(item)
else语句
搭配使用:
语法 | 作用 |
---|---|
if… else | if 的条件不成立时执行else |
for… else | 循环执行完执行else;循环中碰到break,循环执行完后不再执行else |
while… else | 循环执行完执行else;循环中碰到break,循环执行完后不再执行else |
例如: |
for _ in range(3):
pwd=input('请输入密码:')
if pwd=='8888':
print('密码正确')
break
else:
print('密码不正确')
else:
print('您的账户已被锁定')
嵌套循环
循环结构中嵌套了循环结构,内循环为外循环的执行体
输出一个三行四列的矩形:
for i in range(1,4):#行表,执行三次,即3行
for j in range(1,5):#列表,执行4次,4行
print('*',end='\t')#不换行
print()
- 嵌套循环中的break语句和continue语句:用于控制本层循环
即内循环中的break/continue语句会使程序退出内层循环但不影响外层循环