zoukankan      html  css  js  c++  java
  • Python流程控制语句


    Python流程控制语句

    顺序结构

    Created with Raphaël 2.2.0开始AB结束

    分支结构

    Created with Raphaël 2.2.0开始A条件BCyesno
    • 三种选择语句:

    if语句

    num1 = 5
    num2 = 15
    if num 1 <= num2:
        print('num2是比较大的数')
    

    if…else…语句

    num1 = 5
    num2 = 15
    if num1 <= num2:
        print('num2是比较大的数')
    else:
        print('num1是比较大的数')
    

    if…elif…else…语句

    num1 = 5
    num2 = 15
    num3 = 25
    if num1 >= num2 and num1 >= num3:
        print('num1是比较大的数')
    elif num2 >= num3 and num2 >= num1:
        print('num2是比较大的数')
    else:
        print('num3是比较大的数')
    

    if语句可以嵌套,即在if语句中可以在写if语句,流程图如下

    Created with Raphaël 2.2.0开始A条件B条件CDyesnoyesno

    循环结构

    • 按照一定条件,反复执行某一种步骤的过程,叫循环结构
    • 有循环条件和循环体组成
    • 死循环
    • Python提供两种循环结构
      • for循环:重复一定次数的循环,也称为计次循环
      • while循环:直到条件不满足时才结束循环,也称为条件循环
    Created with Raphaël 2.2.0开始A条件BCyesno
    • 对于确定次数的循环,for语句在设定初始值和终止值后,循环变量自动累加

    for、while循环

    for 变量 in 集合(序列/对象/range()):
    	循环体
    else:
    	表达式
    
    • 每次从集合中去除一个值,并把值赋给变量
    • range([start],stop[,step])
      • start 起始值,默认为0,可以省略
      • stop 结束值,不能省略,循环到stop-1停止
      • step增减值,默认为1
    • 在循环中,print()如果有缩进,表示在for循环内,会按执行次数输出,如果没有缩进,表示没有在for循环内,输出累加结果

    例如

    list(range(5))  #输出[0,1,2,3,4]
    list(range(4,10))  #输出[4,5,6,7,8,9]
    list(range(4,10,2))  #输出[4,6,8]
    

    例题:计算1+2+3+…+100的和。

    • for循环
    sum = 0
    for i in range(1,101):
        sum += i
    print('sum=',sum)
    
    • while循环
    i=0
    sum = 0
    while i <= 100:
        sum += i
        i += 1
    print('sum=',sum)
    

    总结

    • 固定次数的循环问题都可以用for循环和while循环来解决
    • 次数不固定的只能用while循环

    逻辑运算符

    if语句if…else…语句if…elif…else…
    and a and b 只有a和b都成立时,才能执行if后面的语句块
    or a or b a和b只要有一个条件成立,就执行if后面的语句块
    not not a 条件a为false时,执行if后面的代码块
    • 这里的a和b都可以是表达式
    • 在Python中,False、None、空字符串、空列表、空元组、都相当于False

    break、continue、pass

    • break
      • 用在for循环和while循环中
      • 循环条件没有false、序列还没有完全递归完,也会停止执行循环语句
      • 在循环嵌套内,break语句将停止执行最深层的循环,并执行下一行代码
    • continue
      • 用在for循环和while循环中
      • 跳出当前循环的剩余语句,然后继续执行下一次循环
      • continue是跳出本次循环,break是跳出整个循环
    • pass
      • 空语句,为了保持程序完整性
      • 一般用作占位语句
      • 只是想让程序循环一定次数,单循环过程中不执行任何操作,则使用pass

    在这里插入图片描述

    • break语句会立即退出循环,不会执行else后的语句
    • continue语句会忽略后面的语句,即跳过循环剩余的语句,不结束循环进入下一次循环

    break

    #例1:for循环
    for i in 'voider':
    	if i == 'd':
    		break
    	print(i)
    #输出v、o、i
    
    #例2:while循环
    num = 5
    while num > 0:
    	print(num)
    	num -= 1
    	if num == 3:
    		break
    print('I am Bad!')
    #输出5、4、I am Bad!
    

    continue

    #例1:for循环
    for i in 'voider':
    	if i == 'd':
    		continue
    	print(i)
    #输出v、o、i、d、e、r
    
    #例2:while循环
    num = 5
    while num > 0:
    	print(num)
    	num -= 1
    	if num == 3:
    		continue
    print('I am Bad')
    #输出5、4、3、2、1、I am Bad!
    

    练习

    1. 编写一个python程序,完成输入两个数,比较它们的大小并输出其中较大者。
    2. 使用Python编程,求1~100间所有偶数的和。
    3. 从键盘接收二百分制成绩(0100),要求输出其对应的成绩等级AE。其中,90分以上为A,8089分为B,7079分为C,60~69分为D,60 分以下为E。
    4. 用Python编写程序,输入一年份,判断该年份是否是闰年并输出结果。
      注:凡符合下面两个条件之一的年份是闰年。
      a)能被4整除但不能被100整除。
      b)能被400整除。
    5. 用Python编程,假设一年期定期利率为3.25%,计算一下需要过多少年,一万元的一年定期存款连本带息能翻番?
    6. 编程,解决猴子吃桃问题。
      猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想吃时,只剩下一个桃子了。求第一天共摘多少个桃子。(迭代法)。
    7. 使用循环语句打印一列5个*
    8. 使用循环语句输出一行5个*(提示:print(’*’,end=""))
    9. 使用循环语句输出下列图案(思考:怎么输出等腰三角形和菱形?)
    *
    * * 
    * * * 
    * * * * 
    * * * * * 
    

    【GitHub源码参考】

    以上内容均属原创,如有不详或错误,敬请指出。
    
    本文作者: 坏坏
  • 相关阅读:
    设计模式六大原则之单例模式
    SpringCloud Alibaba Seata---处理分布式事务
    SpringCloud Alibaba Sentinel---实现熔断与限流
    Linux下Nacos集群与持久化配置
    SpringCloud Alibaba Nacos---服务注册与配置中心
    SpringCloud(H版)学习---分布式请求链路追踪
    Markdown主要语法及使用
    project read error(项目读取错误)
    详解C3P0(数据库连接池)
    Java一般命名规范
  • 原文地址:https://www.cnblogs.com/bad5/p/12583105.html
Copyright © 2011-2022 走看看