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… elseif 的条件不成立时执行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语句会使程序退出内层循环但不影响外层循环
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值