流承控制语句------嵌套和循环语句

    上一篇的是程序三大执行里的选择执行--即设定的条件满足时,执行相应的程序。就是 if 的条件满足时执行 if 下面的输出,elif 的条件满足时执行elif的,else 的条件满足时执行else 的,从上往下一次检验条件不满足时不影响下面的执行,条件满足时不执行下面的。练习中常有一些小问题,比如,写完条件后忘了加冒号,条件满足时的输出,没有在适当的位置(与执行条件的纵向位置不是四个空格,就是一个Tab 键)等等都是小问题。认真点多检查,多运行。

     循环语句---当条件成立的时候,反复执行条件下方的执行输出,不然要一遍一遍的 print ,也可以在植入条件,就是嵌套,让雨果植入的是另一个循环那就是嵌套循环,关键在条件的位置决定着执行顺序和循环的代码块。

knife_length = 20
ticket = True

if False:

    if knife_length>20:
        print("禁止携带刀具")

    else:
        print("可以进站")
 

else:

    print("请班里车票手续")

if 嵌套,先检查两个条件,如果条件为False,执行第一个 if 的程序,在判断,是 if 还是 else。 if 只能在下面在嵌套,通过前面Tab键的位置来确定先后的执行次序 。常见例子还有个税编辑器

all_money = int(input("请输入你的工资:"))

if all_money >5000:
    # 计算要纳税的钱
    should_money = all_money - all_money * 0.165 -5000

    if should_money <=1500:
        pay_taxes = should_money * 0.03 -0

    elif should_money >1500 and should_money<=4500:
        pay_taxes = should_money * 0.1 -105

    elif should_money >4500 and should_money<=9000:
        pay_taxes = should_money * 0.2 -555

    elif should_money >9000 and should_money <= 35000:
        pay_taxes = should_money * 0.25 - 1005

    wxyj  = all_money * 0.165

    pay_taxes_later = all_money -wxyj -pay_taxes

    print(pay_taxes_later)

else:
    print("不上了~~~")

        循环语句,循环分两种一种是while循环,另一种是for循环while 循环的格式

while 条件1:
    执行代码块

只要条件满足就不停的执行执行代码块,这个代码块可以是单行代码的运算,也可以是几行代码的while循环,就是while的嵌套循环分别举个例子

 求1-100的和
 sum = 0
 i = 1
 while i <= 100:
     sum += i
     i += 1
 print(sum)

    

循环内的变量要在循环上先定义出来,但对于这样的循环变量要不断地被赋值所以在循环下方有的i += 1,而输出与while循环的是平齐的所以最后输出的sum是整个while循环执行结束后的结果,如果我们想让sum执行一次以后输出一回把sum加一个Tab键与I+=1平齐就行。而单句的代码还可以是 if 的条件判断等等,不过都是一样的,判断成功后执行一遍,把逻辑捋顺,多打代码多做题,多思考,难点最多是有些情况没考虑到而以

但当下面的代码块又是一个循环的时候,结构就是这样的

while 条件1:
    执行
    while 条件2:
        执行

当条件1满足时,第一个while循环会循环执行,当循环的的结果符合条件2的时候,每输出的一个条件1的结果会让条件2的循环一直执行到循环的条件不成立而结束执行,常见的例子是打印小星星的那一类题型

 #用*打印一个竖6个*横6*的直角三角形
 i = 1
 while i <= 6:
     j = 1
     while j <= i:
        print("*",end=" ")
        j += 1
        print( )
    i += 1

 i的初始值为1当  i 小于6的时候往下执行,j 等于 1 进入第二个循环,j 小于等于 i ,成立。输出 * 不换行 .。当i 为几的时候J就要小于几,也就是print("*",end=" ")要执行几遍。而上边还有一个循环 i 的值也是被赋值6次。所以执行6回,就有了六行,每行是j d的循环执行的,这样三角形就打印出来了,本质的逻辑规律是这样的所以在做题的时候依据实际情况确定循环的参数达到相应的目的。

for循环

for 循环的格式是for i in 变量2:  这种循环里i 是一个变量,而变量2一般都是被定义的一个,它可以是字符串,元祖,数值的范围

只要能一个一个的提取输出就可以。

还有一个特点就是for循环可以被遍历。就是只要是这个变量2里面的每一个都可以自行的被    i   一个个的提取输出,不需要像while 那样借助外力在给  i  += 1什么的重新赋值,所以for for嵌套也要比while简单一些,因为不需要定义变量,只要确定范围就可以了

最后一点break 和 continue 结束跳出循环区别在于

break 是当break的条件成立时直接跳出while 循环

而continue是只跳出本次循环,其余的循环还要执行

举个栗子,上代码

# break的应用
i = 1
while i<10:
    print("第{}次执行".format(i))

    if i==5:
        break  # 当条件成立 就结束循环
    i+=1
#print只执行到第第五次


i = 1
while i<10:


    if i==5:
        print("结束第{}次循环".format(i))
        i+=1

        continue   #结束当前本次循环执行下一次

    print("当前的值是%d"%i)
    i+=1
#第五次不执行,但6789还执行

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值