对象的布尔值 pass空语句 程序的组织结构 顺序结构 选择结构 循环结构

本文主要是介绍对象的布尔值 pass空语句 程序的组织结构 顺序结构 选择结构 循环结构,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、对象的布尔值
Python一切皆对象,所有对象都有一个布尔值(True或False),用内置函数bool()来获取
括号内对象的布尔值为False(False,数值0,None,空字符串,空列表,空元组,空字典,空集合)

#测试对象的布尔值
print(bool(False))#False
print(bool(0))#0
print(bool(0.0))#0
print(bool(None))#None
print(bool(''))#空字符串
print(bool(""))#空字符串
print(bool([]))#空列表
print(bool(list()))#空列表
print(bool(()))#空元组
print(bool(tuple()))#空元组
print(bool({}))#空字典
print(bool(dict()))#空字典
print(bool(set()))#空集合
#其它对象的布尔值均为True
age=int(input('请输入您的年龄:'))
if age:  #18的布尔值为Trueprint(age)
else:    #0的布尔值为Falseprint('年龄为:',age)

在这里插入图片描述
在这里插入图片描述

二、pass语句
pass语句什么都不做,只是一个占位符,用在语法上需要语句的地方
在先搭建语法结构,还没想好代码怎么写的时候使用
与(if语句的条件执行体,for-in语句的循环体,定义函数时的函数体)

answer=input('您是会员吗?y/n')
if answer=='y': #会员pass
else:           #非会员pass

三、程序的组织结构
1.顺序结构
程序从上到下顺序地执行代码,中间没有任何判断和跳转,直到程序结束
在一行代码前面的数字后面单击出现断点符号,然后点运行符号后面的小虫子,点向下的箭头可以一步步执行代码
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2.选择结构(if语句)
根据判断条件的布尔值选择性地执行部分代码
(1)单分支结构(如果……就……)
if 条件表达式:
条件执行体

money=1000 #余额
s=int(input('请输入取款金额')) #取款金额
#判断余额是否充足
if money>=s:money=money-sprint('取款成功,余额为:',money)

(2)双分支结构(如果……就……,不满足……就……)
if 条件表达式:
条件执行体1
else:
条件执行体2

#从键盘录入一个整数,编写程序让计算机判断是奇数还是偶数
num=int(input('请输入一个整数'))
#条件判断
if num%2==0:print(num,'是偶数')
else:print(num,'是奇数')

(3)多分支结构
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 为非法数据(不是成绩的有效范围)
'''
score=int(input('请输入一个成绩:'))
#判断
if 90<=score<=100:print('A级')
elif 80<=score<=89:print('B级')
elif 70<=score <=79:print('C级')
elif score >=60 and score <=69:print('D级')
elif score >=0 and score <=59:print('E级')
else:print('对不起,成绩有误,不在成绩的有效范围')

(4)嵌套if
if 条件表达式1:
if 内层条件表达式:
内层条件执行体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)

(5)条件表达式
条件表达式是if……else的简写
x if 判断条件 else y
如果判断条件的布尔值为True,条件表达式的返回值为x,否则条件表达式的返回值为y

#从键盘录入两个整数,比较两个整数的大小
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(str(num_a)+'大于等于'+str(num_b) if num_a>=num_b else str(num_a)+'小于'+str(num_b))   #字符串的连接

3.循环结构(while语句,for-in语句)
(1)内置函数range()的使用
已经学过的内置函数print,input;range()函数用于生成一个整数序列
创建range对象的三种方式:
range(stop),创建一个[0,stop)之间的整数序列,步长为1
range(start,stop),创建一个[start,stop)之间的整数序列,步长为1
range(start,stop,step),创建一个[star,stop)之间的整数序列,步长为step
返回值是一个迭代器对象
range类型的优点:不管range对象表示的整数序列有多长,所有range对象占用的内存空间都是相同的,因为仅需存储start,stop,step,只有当用到range对象时,才会去计算序列中的相关元素
in与not in判断整数序列中是否存在(不存在)指定的整数

#第一种创建方式,只有一个参数(小括号中只给了一个数)
r=range(10)#默认从0开始,到10结束(不包含10),默认步长为1
print(r)#显示:range(0,10)
print(list(r))#显示:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]#第二种创建方式,给了两个参数(小括号中给了两个数)
r=range(1,10)#指定从1开始,到10结束(不包含10),默认步长为1
print(list(r))#显示:[1, 2, 3, 4, 5, 6, 7, 8, 9]#第三种创建方式,给了三个参数(小括号中给了三个数)
r=range(1,10,2)#指定从1开始,到10结束(不包含10),指定步长为2
print(list(r))#显示:[1, 3, 5, 7, 9]#判断指定的整数在序列中是否存在 in,not in
print(10 in r)#显示:False,10不在当前的r这个整数序列中
print(10 not in r)#显示:True,10不在当前的r这个整数序列中
print(9 in r)#显示:True,9在当前的r这个整数序列中
print(9 not in r)#显示:False,9在当前的r这个整数序列中

循环结构(反复做同一件事情)
(2)while循环 用于次数不固定的循环 初始条件不成立一次都不执行
while 条件表达式
条件执行体(循环体)
#if是判断一次,条件为True执行一次
#while是判断N+1次,条件为True执行N次
四步循环法(初始化变量,条件判断,条件执行体(循环体),改变变量)初始化的变量与条件判断的变量与改变的变量为同一个

a=1
#判断条件表达式
while a<10:#执行条件执行体print(a)a+=1
#显示:1 2 3 4 5 6 7 8 9#计算0到4之间的累加和(4步循环法)
sum=0#用于存储累加和
#初始化变量为0
a=0
#条件判断
while a<5:#条件执行体(循环体)sum+=a#改变变量a+=1
print('和为',sum)#显示:和为 10
#计算1到100之间的偶数和(4步循环法)
sum=0#用于存储偶数和
#初始化变量
a=1
#条件判断
while a<=100:#条件执行体(求和)#条件判断是否是偶数if not bool(a%2):#0的布尔值为False,not bool取反操作,或者写成if a%2==0:sum+=a#改变变量a+=1
print('和为',sum)#显示:和为 2550

(3)for-in循环
in表达从(字符串,序列等)中依次取值,又称为遍历,for-in遍历的对象必须是可迭代的对象
for 自定义的变量 in 可迭代对象:
循环体
(循环体内不需要访问自定义变量,可以将自定义变量替代为下划线)

for item in 'Python':print(item)#显示:P y t h o n#range()产生一个整数序列,也是一个可迭代对象
for i in range(10):print(i)#显示:0 1 2 3 4 5 6 7 8 9#如果在循环体中不需要使用到自定义变量,可将自定义变量写为"_"
for _ in range(5):print('人生苦短')#显示:人生苦短 人生苦短 人生苦短 人生苦短 人生苦短print('使用for循环,计算1到100之间的偶数和')
sum=0#用于存储偶数和
for item in range(1,101):if item%2==0:sum+=item
print('1到100之间的偶数和为:',sum)#显示:1到100之间的偶数和为: 2550#输出100到999之间的水仙花数 举例:153=3*3*3+5*5*5+1*1*1
for item in range(100,1000):ge=item%10shi=item//10%10bai=item//100%10if item==ge**3+shi**3+bai**3:print(item)#显示:153 370 371 407

(4)break、continue与else语句
break语句用于结束循环结构,通常与分支结构if一起使用

#从键盘录入密码,最多录入三次,如果正确就结束循环
for item in range(3):pwd=input('请输入密码')if pwd=='8888':print('密码正确')breakelse:print('密码不正确')a=0
while a<3:pwd = input('请输入密码')if pwd == '8888':print('密码正确')breakelse:print('密码不正确')a+=1

continue语句用于结束当前循环,进入下一次循环,通常与分支结构if一起使用

#输出1到50之间所有5的倍数,5,10,15,20,25……
#5的倍数共同点:和5的余数为0
for item in range(1,51):if item%5==0:print(item)for item in range(1,51):if item%5!=0:continueprint(item)

else语句配合使用的三种情况:
if……else…… 在if条件表达式不成立时执行else
while……else……没有碰到break时执行else
for……else……没有碰到break时执行else

for item in range(3):pwd=input('请输入密码')if pwd=='8888':print('密码正确')breakelse:print('密码不正确')
else:print('对不起,三次密码均输入错误')a=0
while a<3:pwd = input('请输入密码')if pwd == '8888':print('密码正确')breakelse:print('密码不正确')a+=1
else:print('对不起,三次密码均输入错误')

(5)嵌套循环
循环结构中又嵌套了另外完整的循环结构,其中内层循环作为外层循环的循环体执行

#输出一个三行四列的矩形
for i in range(1,4):#行表,执行三次,一次是一行for j in range(1,5):#列表,执行四次,一次是一列print('*',end='\t')#不换行输出print()#换行#输出一个直角三角形
for i in range(1,10):#9行for j in range(1,i+1):print('*',end='\t')#不换行输出print()#换行#输出九九乘法表
for i in range(1,10):#9行for j in range(1,i+1):print(i,'*',j,'=',i*j,end='\t')#不换行输出print()#换行

二重循环中的break和continue用于控制本层循环

for i in range(5):#表示外层循环要执行5次for j in range(1,11):#表示内层循环要执行10次if j%2==0:breakprint(j)#显示:1 1 1 1 1
for i in range(5):#表示外层循环要执行5次for j in range(1,11):#表示内层循环要执行10次if j%2==0:continueprint(j,end='\t')print()#显示:1 3 5 7 9 (5次)

这篇关于对象的布尔值 pass空语句 程序的组织结构 顺序结构 选择结构 循环结构的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/502171

相关文章

SpringBoot中配置文件的加载顺序解读

《SpringBoot中配置文件的加载顺序解读》:本文主要介绍SpringBoot中配置文件的加载顺序,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot配置文件的加载顺序1、命令⾏参数2、Java系统属性3、操作系统环境变量5、项目【外部】的ap

Spring 中的循环引用问题解决方法

《Spring中的循环引用问题解决方法》:本文主要介绍Spring中的循环引用问题解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录什么是循环引用?循环依赖三级缓存解决循环依赖二级缓存三级缓存本章来聊聊Spring 中的循环引用问题该如何解决。这里聊

Java对象转换的实现方式汇总

《Java对象转换的实现方式汇总》:本文主要介绍Java对象转换的多种实现方式,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Java对象转换的多种实现方式1. 手动映射(Manual Mapping)2. Builder模式3. 工具类辅助映

C# foreach 循环中获取索引的实现方式

《C#foreach循环中获取索引的实现方式》:本文主要介绍C#foreach循环中获取索引的实现方式,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、手动维护索引变量二、LINQ Select + 元组解构三、扩展方法封装索引四、使用 for 循环替代

将Java程序打包成EXE文件的实现方式

《将Java程序打包成EXE文件的实现方式》:本文主要介绍将Java程序打包成EXE文件的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录如何将Java程序编程打包成EXE文件1.准备Java程序2.生成JAR包3.选择并安装打包工具4.配置Launch4

Java程序进程起来了但是不打印日志的原因分析

《Java程序进程起来了但是不打印日志的原因分析》:本文主要介绍Java程序进程起来了但是不打印日志的原因分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java程序进程起来了但是不打印日志的原因1、日志配置问题2、日志文件权限问题3、日志文件路径问题4、程序

Spring Boot循环依赖原理、解决方案与最佳实践(全解析)

《SpringBoot循环依赖原理、解决方案与最佳实践(全解析)》循环依赖指两个或多个Bean相互直接或间接引用,形成闭环依赖关系,:本文主要介绍SpringBoot循环依赖原理、解决方案与最... 目录一、循环依赖的本质与危害1.1 什么是循环依赖?1.2 核心危害二、Spring的三级缓存机制2.1 三

Python中判断对象是否为空的方法

《Python中判断对象是否为空的方法》在Python开发中,判断对象是否为“空”是高频操作,但看似简单的需求却暗藏玄机,从None到空容器,从零值到自定义对象的“假值”状态,不同场景下的“空”需要精... 目录一、python中的“空”值体系二、精准判定方法对比三、常见误区解析四、进阶处理技巧五、性能优化

SpringBoot实现微信小程序支付功能

《SpringBoot实现微信小程序支付功能》小程序支付功能已成为众多应用的核心需求之一,本文主要介绍了SpringBoot实现微信小程序支付功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作... 目录一、引言二、准备工作(一)微信支付商户平台配置(二)Spring Boot项目搭建(三)配置文件

详解nginx 中location和 proxy_pass的匹配规则

《详解nginx中location和proxy_pass的匹配规则》location是Nginx中用来匹配客户端请求URI的指令,决定如何处理特定路径的请求,它定义了请求的路由规则,后续的配置(如... 目录location 的作用语法示例:location /www.chinasem.cntestproxy