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

本文详细介绍了Python的基础语法,包括对象的布尔值、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的布尔值为True
    print(age)
else:    #0的布尔值为False
    print('年龄为:',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-s
    print('取款成功,余额为:',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%10
    shi=item//10%10
    bai=item//100%10
    if 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('密码正确')
        break
    else:
        print('密码不正确')

a=0
while a<3:
    pwd = input('请输入密码')
    if pwd == '8888':
        print('密码正确')
        break
    else:
        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:
        continue
    print(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('密码正确')
        break
    else:
        print('密码不正确')
else:
    print('对不起,三次密码均输入错误')

a=0
while a<3:
    pwd = input('请输入密码')
    if pwd == '8888':
        print('密码正确')
        break
    else:
        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:
            break
        print(j)#显示:1 1 1 1 1
for i in range(5):#表示外层循环要执行5次
    for j in range(1,11):#表示内层循环要执行10次
        if j%2==0:
            continue
        print(j,end='\t')
    print()#显示:1 3 5 7 9 (5次)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值