当前位置:脚本大全 > > 正文

python循环语句嵌套使用(Python分支语句与循环语句应用实例分析)

时间:2021-10-11 00:44:27类别:脚本大全

python循环语句嵌套使用

Python分支语句与循环语句应用实例分析

本文实例讲述了python分支语句与循环语句应用。分享给大家供大家参考,具体如下:

一、分支语句

1、if else语句

语法:

if 条件判断:
执行的语句块1
else :
执行语句块2

当满足条件的时候则执行语句块1 ,不满足条件就执行语句块2

注意:1、条件判断后面要加冒号”:“;

2、执行语句块需要缩进【4个空格】。

else 与 if对齐,else后面要加”:”,语句块缩进4个空格

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • '''
  • 从控制台输入年龄,如果年龄小于18岁,打印”未成年人禁止进入“
  • 大于18岁,打印”欢迎光临“
  • '''
  • age = input("请输入您的年龄:")
  • age = int(age)
  • if age < 18:
  •   print("未成年人禁止进入")
  •   print("等你满18岁就可以来了")
  • else:
  •   print("欢迎光临")
  • 输出:

        请输入您的年龄:18
        欢迎光临

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • '''
  • 从控制台输入两个数,输出较大的值,不能使用max函数
  • '''
  •  
  • num1= int(input("请输入number1:"))
  • num2= int(input("请输入number2:"))
  • if num1 > num2 :
  •   print("较大的数为number1:",num1)
  • elif num1 == num2 :
  •   print("number1 %d与 number2 %d相等"%(num1,num2))
  • else:
  •   print("较大的数为number2:",num2)
  • 输出:

    请输入number1:12
    请输入number2:13
    较大的数为number2: 13

    需要多重判断的时候,我们则可以使用以下的方式来解决

    if 条件判断1:
        语句1
    elif 条件判断2:
        语句2
    ...
    elif 条件判断n:
        语句n
    else:
        语句

    注意:elif是else if的缩写,可以有多个elif。

    所以,根据上面的需求,我们的代码则可以这样写

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • '''
  • 如果年龄小于等于18,打印少年,年龄大于18且小于等于25,则打印青年,大于25小于等于40,打印壮年,大于40,打印您更年期到了。。。
  • '''
  • age = 34
  • if age <= 18:
  •   print("少年")
  • elif age <= 25:
  •   print("青年")
  • elif age <= 40:
  •   print("壮年")
  • else
  •   print("您的更年期到啦")
  • if语句有个特点,它是从上往下判断,如果在某个判断上是true,把该判断的语句对应执行后,就忽略掉其他的elif和else。

    if判断语句还可以简写:

    if x:
      print("true")

    只要x是非零数值,非空字符串,非空list,就判断为true,否则为false

    2、嵌套的if语句

    需求:现输入一个数,判断他是否为大于10的偶数

    如果要解决上述的需求,可能我们需要两个判断语句,第一个判断输入的数是否大于10,第二个判断是在第一个的基础上来判定这个数是否为偶数。

    简单的说,就是在if语句中再嵌套一个if语句,效果如下:

    语法:

    ​ if 表达式1:
    ​ 语句1
    ​ if 表达式2:
    ​ 语句2

  • ?
  • 1
  • 2
  • 3
  • 4
  • num = 20
  • if num > 10:
  •   if num % 2 == 0:
  •     print(num)
  • 注意:从语法的角度上说,嵌套的层数没有限制,但是,从代码的可读性和可维护性来说,最好的嵌套的层数不要超过三层。

    3、if 的神奇用法(三目运算)

    伪三目运算

    result1 if 判断条件 else result2

    若条件成立则输出结果result1,否则输出结果result2

  • ?
  • 1
  • 2
  • 3
  • 4
  • >>> x = 10
  • >>> y = 20
  • >>> x if x > y else y
  • 20
  • 二、循环语句之while

    1、while循环的语法:

    while 判断语句:
    执行代码块

    当判断语句成立的时候,执行下面的代码块【判断语句的结果为true,即不等于0,0.0,false,none的情况下执行代码块】。

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • ...
  • 计算 1 + 2 + 3 + ... + 1000
  • ...
  • n = 1
  • sum = 0
  • while n <= 100:
  •   sum = sum + n
  •   n = n + 1
  • print("sum = %d" % sum)
  • print("n = %d" % n)
  • 输出:

    sum = 5050
    n = 101

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • '''
  • 从[100,1000)的水仙花数
  • '''
  • n = 100
  • print("水仙花数")
  • while n < 1000:
  •   bai = n // 100
  •   shi = n //10 % 10
  •   ge = n %10
  •   if n == pow(bai,3) + pow(shi,3) + pow(ge,3):
  •     print("%d" %n)
  •   n += 1
  • 输出:

    水仙花数
    153
    370
    371
    407

    2、while 之死循环

    死循环出现的契机:当表达式永远为真的时候,会出现死循环。

  • ?
  • 1
  • 2
  • while 1:
  •   print("i am very good !")
  • 3、while else

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • '''
  • while else 的语法
  • while 条件判断:
  •   循环语句块
  • else:
  •   语句块
  •  
  • 当条件判断的结果为true的情况下,执行循环语句块
  • 直到条件判断的结果为false的时候跳出循环,并且执行else语句,如果是通过break跳出循环则不执行else语句
  • '''
  • n = 100
  • print("水仙花数")
  • while n < 1000:
  •   bai = n // 100
  •   shi = n //10 % 10
  •   ge = n %10
  •   if n == pow(bai,3) + pow(shi,3) + pow(ge,3):
  •     print("%d" %n)
  •   n += 1
  • else:
  •   print("循环已结束")
  • 输出:

    水仙花数
    153
    370
    371
    407
    循环已结束

    4、while之简单的语句组

    如果你的while循环体中只有一条语句,你可以将该语句与while写在同一行。

    语法:

    while 条件: 语句

  • ?
  • 1
  • while true: print("you are a good man")
  • 三、结束循环语句

    1.break语句的使用

    在循环中,使用break语句可以提前退出循环。

    例如:本来循环打印1~100的数字,但是,现在我要提前结束,当数字大于10的时候,打印循环结束。

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • n = 1
  • while n <= 100:
  •   if n > 10:
  •   #当n = 11时,条件满足,执行break语句
  •     break
  •   print(n)
  •   n += 1
  • print("循环结束")
  • 2.continue语句的使用

    在循环的过程中,可以通过continue语句,跳过当前的这次循环,直接开始下一次循环。

  • ?
  • 1
  • 2
  • 3
  • 4
  • n = 0
  • while n < 10:
  •   n += 1
  •   print(n)
  • 通过上面的程序可以打印出1~10,但是,如果我们只想打印奇数,可以使用continue语句跳过某些循环。

    思考三:打印1~100以内的奇数

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • num = 1
  • while num <= 100:
  •   if num%2 == 0:
  •     continue
  •   print(n)
  • 3. pass语句的使用

    pass 语句是空语句,是为了保持程序结构的完整性

    pass 不做任何事情,一般用做占位语句

  • ?
  • 1
  • 2
  • 3
  • 4
  • if true:
  •   pass
  • else:
  •   print("hello")
  • 四、循环语句之for

    1、for循环

    python 的循环有两种,一种是我们之前讲的while循环,另外一种就是for…in循环,依次把list或者tuple中的元素或者字符串迭代出来。

  • ?
  • 1
  • 2
  • 3
  • name = ['lili','bob','tracy']
  • for name in names:
  •   print(name)
  • 执行这段代码,会依次打印names的每一个元素

    lili
    bob
    tracy

    所以 for x in … 循环就是把每个元素带入变量x,然后执行缩进块语句。

    计算1~10的整数之和,可以用一个sum变量做累加:

  • ?
  • 1
  • 2
  • 3
  • 4
  • sum = 0
  • for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
  •   sum = sum + x
  • print(sum)
  • 如果要计算1~100的整数之和,从1到100有点困难,在python中提供一个range()函数,可以生成一个整数序列,再通过list()函数可以转换为list,比如range(5)生成的序列是从0开始小于5的整数。

  • ?
  • 1
  • 2
  • 3
  • 4
  • sum = 0
  • for x in range(100):
  •   sum += x
  • print(sum)
  • 2、for 循环使用else语句

    与while…else类似,else也会在循环正常执行完的情况下执行

  • ?
  • 1
  • 2
  • 3
  • 4
  • for i in range(10):
  •   print(i)
  • else:
  •   print("********")
  • 3、range函数

    range函数可创建一个可迭代对象,一般用在for循环中

    函数语法:

  • ?
  • 1
  • range([start,] stop[, step])
  • 参数说明:

    python
    1.start:计数从start开始,默认从0开始,例如:range(5)等价于range(0, 5)
    2.stop:计数到stop结束,但不包括stop。例如:range(0,5)的取值为[0,5)
    3.step:步长,默认为1,例如range(0,5) 等价于range(0, 5, 1)

    函数返回一个可迭代对象,从这个可迭代对象中可以获取一个整数列表。

  • ?
  • 1
  • 2
  • 3
  • #使用list函数,可以从可迭代对象中获取整数列表
  • >>> list(range(5))
  • [0, 1, 2, 3, 4]
  • 五、嵌套循环

    我们可以在循环体中嵌套循环。

    需求:打印九九乘法表

  • ?
  • 1
  • 2
  • 3
  • 4
  • for i in range(1,10):
  •   for j in range(1,i + 1):
  •     print("%d*%d=%d"%(j,i,j*i),end='\t')
  •   print()
  • 输出:

    1*1=1
    1*2=2 2*2=4
    1*3=3 2*3=6  3*3=9
    1*4=4 2*4=8  3*4=12 4*4=16
    1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
    1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
    1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
    1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
    1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81

    希望本文所述对大家python程序设计有所帮助。

    原文链接:https://blog.csdn.net/lm_is_dc/article/details/80077382

    上一篇下一篇

    猜您喜欢

    热门推荐