从零开始学Python,B站“花了2万多买的Python教程全套,现在分享给大家,入门到精通(Python全栈开发教程)”32~44个视频笔记

附视频链接:32.分支结构_嵌套if的使用_哔哩哔哩_bilibili

嵌套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('打八折,付款金额为:',money*0.8)    
    elif money >=100:        
        print('打九折,付款金额为:',money*0.9)    
    else:        
        print('不打折,付款金额为:',money)
else:    
    if money>=200:        
        print('打九五折,购物金额为:',money*0.95)    
    else:        
        print('不打折,付款金额为:',money)

条件表达式: X if 判断条件 else Y (如果条件为真,输出左边的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)

用条件表达式比较:

num_a=int(input('请输入第一个整数:'))
num_b=int(input('请输入第二个整数:'))
print('使用条件表达式进行比较')
print(  (num_a,'大于等于',num_b)    if num_a>=num_b   else   (num_a,'小于',num_b))

或者

num_a=int(input('请输入第一个整数:'))
num_b=int(input('请输入第二个整数:'))
print('使用条件表达式进行比较')
print(  str(num_a)+'大于等于'+str(num_b)    if num_a>=num_b   else   str(num_a)+'小于'+str(num_b))

12、pass语句:语句什么都不做,只是一个占位符,用在语法上需要语句的地方

什么时候使用:先搭建语法结构,还没想好代码怎么写的时候

与哪些语句一起使用:1)if语句的条件执行体

2)for—in语句的循环体

3)定义函数时的函数体

#pass语句,什么都不做,只是一个占位符,用到需要写语句的地方
answer = input('您是会员吗?y/n')
#判断是否是会员
if answer=='y':    
    pass
else:    
    pass

13、内置函数range():用于生成一个整数序列。

创建range对象的三种方式:

range(stop):创建一个(0,stop)之间的整数序列,步长为1

range(start,stop):创建一个(start,stop)之间的整数序列,步长为1

range(start,stop,step):创建一个(start,stop)之间的整数序列,步长为step

#range()的三种创建方式'''
第一种创建方式,只有一个参数(小括号中只给了一个数)'''
r = range(10)    #[0,1,2,3,4,5,6,7,8,9],默认从0开始,默认相差1称为步长
print(r)  #结果为range(0,10),即返回值是一个迭代器对象
print(list(r))  #用于查看range对象中的整数序列      list是列表的意思'''第二种创建方式,给了两个参数(小括号中给了两个数)'''
r = range(1,10)   #指定了起始值,从1开始,到十结束(不包含10),默认步长为1
print(r)
print(list(r))  #[1, 2, 3, 4, 5, 6, 7, 8, 9]
'''第三种创建方式,给了三个参数(小括号中给了三个数)'''
r = range(1,10,2)
print(r)
print(list(r))  #[1, 3, 5, 7, 9]
'''判断指定的整数在序列中是否存在用in和not in'''
print(10 not in r)  #True
print(9 not in r)   #False

14、循环结构

while是判断N+1次,条件为True执行N次

#计算0到4之间的累加和
'''
4步循环法   
    1.初始化变量    
    2.条件判断    
    3.条件执行体(循环体)
    4.改变变量    
    总结:初始化的变量与条件判断的变量与改变的变量为同一个'''
sum = 0  #用于存储累加和
#初始化变量为0
a = 0
#条件判断
while a<=4:    
#条件执行体(循环体)    
    sum+=a    
    #改变变量    
    a+=1
print('和为:',sum)
#计算1到100之间的偶数和
sum = 0  #用于存储偶数和
#初始化变量
a = 1
#条件判断
while  a<=100:    
    #条件执行体(求和)    
    #条件判断是否是偶数   
    if a%2==0:   或者if not bool(a%2):     
        sum+=a    
    #改变变量    
    a+=1
print('1—100之间的偶数和为:',sum)

for—in循环

in表达从(字符串、序列等)中依次取值,又称为遍历

for—in遍历的对象必须是可迭代对象

语法结构:for 自定义的变量 in 可迭代对象:

循环体

for item in 'python':   #第一次取出来的是p,将p赋给item,将item的值输出       
    print(item)
#range()  产生一个整数序列,也是一个可迭代对象
for i in range(10):  #依次取出0,1,2,3,4,5,6,7,8,9赋给i,将i的值输出    
    print(i)
#如果在循环体中不需要使用到自定义变量,可将自定义变量写为“_”
for _ in range(5):    #range()函数可以用作for循环的循环次数
    print('人生苦短,我用python')   #输出5次“人生苦短,我用Python”
print('使用for循环,计算1到100之间的偶数和')
sum=0
for item in range(1,101):    
    if item%2==0:       
        sum+=item
print('1到100之间的偶数和为:',sum)
#输出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  #百位    
    #print(bai,shi,ge)    
    #判断    
    if ge**3+shi**3+bai**3==item:        
        print(item)

流程控制语句break:用于结束循环结构,通常与分支结构if一起使用

for ... in ...: while(条件)

...... ...

if ...: if ...:

break break (即满足一定条件使用break强制结束循环)

#从键盘录入密码,最多录入3次,如果正确就结束循环
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一起使用。

for ... in ...: while(条件)

...... ...

if ...: if ...:

continue continue (即满足一定条件使用continue结束当前循环开始新循环)

...... ......

'''要求输出1到50之间所有5的倍数    
    5的倍数的共同点: 和5的余数为0的数都是5的倍数    
    什么样的数不是5的倍数,即与5的余数不为0的数都不是5的倍数    
    要求使用continue实现'''
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语句:与else语句配合使用到额三种情况

if .... else ...... if条件表达式不成立时执行else

while ..... else ..... while次数执行完后执行else,当碰到break语句时不再执行下面的else

for ..... 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('对不起,三次密码均输入错误')

嵌套循环:

for i in range(1,4):   #行表,执行三次,一次是一行    
    for j in range(1,5):        
        print('*',end='\t')   #不换行输出    
    print()   #换行
print('结束')
#输出九行,从一开始每行增加一个*的直角三角形
for i in range(1,10):  #行数    
    for j in range(1,i+1):         
        print('*',end='\t')    
    print()
print('结束')
#输出九九乘法表
for i in range(1,10):  #行数    
    for j in range(1,i+1):        
        print(j,'*',i,'=',i*j,end='\t')    
    print()
print('结束')

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

'''流程控制语句break与continue在二重循环中的使用'''
for i in range(5):    
    for j in range(1,11):        
        if j%2==0:            
            #break            
            continue        
        print(j,end="\t")    
    print()

循环总结:while用于次数不固定的循环,初始条件不成立一次都不执行。

for...in...用于遍历可迭代对象

while与for...in...相互嵌套

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值