python-while循环

news2024/11/26 15:00:05

文章目录

  • 一、程序的三种结构
    • 二、while循环
            • 1.1:死循环
            • 1.2:循环计数习惯
            • 案例
            • 1.3:循环计数
            • 2.0:break终止循环
        • 3.0:人造死循环
          • 4.0:continue
        • 5.0循环嵌套

一、程序的三种结构

1:顺序
代码自上而下执行
2:分支
根据条件有选择的执行
4:循环
根据条件循环执行特定代码

二、while循环

基本语法:
while 条件:
要循环的代码
‘‘如果条件成立,循环开始,如果条件不成立,循环结束’’
案例
a=0
while a<3:#只要a的值是小于3,就一直循环,直到a的值大于三了循环就结束
pass#满足条件后循环开始后需要执行的代码
a+=1
#循环计数,如果没有循环计数,那么a的值一直是不变的,那么循环就一直运行不会停止,所以a+=1的意思就是每循环一次给a+1,这样a的值会变,只要a的值大于或大于等于3时训话就结束了

1.1:死循环
a=0
while a<3:
    pass

这种循环就是死循环因为a的值是永远也不会变,所以条件一直满足,所以循环就一直继续

1.2:循环计数习惯

人类计数习惯是从1开始,0代表没有,且不计数
但是计算机的计数习惯是从0开始,0也代表一个值,所以在循环计数时往往要比实际值要小1,除非有特殊要求

#案例:循环输出数字从0开始,截至到5的6个数字
a=0
while a<6:
    print(a,end="")#end的作用是解除自动换行
    a+=1
案例
练习从后往前输出的5个数字从5开始
a=0
while a<6:
    print(a)
    a-=1
1.3:循环计数

循环在程序中经常用到的用能是训话计数
先在循环开始前定义一个变量,用来存放计数结果
在循环内部对这个变量进行计算
训话完成后输出这个变量

举例

#练习循环计数
#要求输出0-100之间所有数字累计之和
'''思路1确定循环次数,只要a>100,循环结束,防止称为死循环
        2定义一个变量用于循环计数
        3定义一个变量用于计算循环累加的和'''
sum=0#这个变量用于存放循环累加的和
num=0#这个变量用于循环计数
while num<=100:#num的值小于100时循环开始,大于100循环结束
    sum=sum+num#计算循环累加的和,第一次循环满足循环条件两个变量都为0,
    num+=1#循环计数,每循环一次num+1,防止循环变为死循环
print(sum)#输出计算结果
python学习交流群:748989764
'''注意:第一次循环时两个变量都为0,第一次循环结束num=1sum=0,第二次满足条件循环开始,sum=0+1,以此内推直到num大于100循环结束'''
#案例2循环计算300到415之间所有数据累加和
'''思路:与上一个案例一样,都是两个变量一个用于循环计数,一个用与计算300-415之间的和,只是起始点不同'''
number=300
sum1=0
while number <=415:
    sum1=number+sum1
    number+=1
print(sum1)
2.0:break终止循环

break必须放到循环内部
如果满足break的条件,循环会立刻停止
一般在内部通过if语句的条件来判断,执行break#当达到某个条件时循环终止

c=0
while c<100:
    if c==20:
        break#一旦循环c得值达到20,则循环结束
    c+=1
    print(c)#注意缩进,print在这是展示每次循环的结果
print(c)#print在这是展示最终结果

案例


```python
在while循环内部,通过input函数输入值exit则终止循环
n=0
while n<100:
    sum3 = str(input("是否退出循环"))
    if sum3 =="y":
        break
    else:
        pass
    print(sum3,n)
    n+=1
print(n)

3.0:人造死循环

while True:#这就是人造死循环,如果循环里面有这个,那么循环会一直持续下去不会停止,
所以在人造死循环里面一道要有if和break来退出循环
语法:
while True:
循环要执行的代码
变量名=input(”通过input函数来进行if判断“)
if 条件:
break#如果满足if条件,则循环终止,不满足继续循环

案例

#案例:判断体重属于那类人群
while True:
    sum4=int(input("输入你的体重"))
    if sum4>=200:
        print("胖")
    elif sum4 <200 and sum4 >=160:
        print("可以减肥了")
    elif sum4 <160 and sum4 >=110:
        print("中等")
    elif sum4 <110 and sum4 >=80:
        print("太瘦了")
    else:
    python学习交流群:748989764
        print("你是刚出生?")
    exit=str(input("退出按”Y“,继续按任意键"))
    if exit == "y":
        break
    else:
        pass
'''注意:为了防止小数出现还可以将强转去掉,将数字用”包裹起来“,应为input函数默认输入的是字符串'''
4.0:continue

循环一旦遇到continue,就不再执行,而是直接返回到循环开始判断条件

d=0
while d<100:
    d += 1
    if d==20:
        continueprint(d,end="")

在这里插入图片描述

5.0循环嵌套

循环嵌套的意思就是一个循环里面有另一个循环,
外面循环一次,里面循环n次(这个次数是由自己设定的循环次数决定的)

eg;a=0
      while a<5:
          b=0
              while d<3
                  d+=1
                  print(b)
              print()
          b+=1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/167247.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

四旋翼无人机学习第20节--PCB自动保存文件labview设计

0 前言 在设计PCB的过程中&#xff0c;通常一个项目的的PCB文件只有一个&#xff0c;如果保存完文件后想要回滚到自己的版本是比较难的&#xff0c;虽然allergo软件可以设置autosave功能来自动对PCB文件进行备份&#xff0c;但是备份文件只会保存最后一次的版本。 1 labview编…

JavaWeb基础(二) HTTP、Tomcat、Servlet介绍

JavaWeb基础(二) HTTP、Tomcat、Servlet介绍 1&#xff0c;Web概述 1.1 Web和JavaWeb的概念 Web是全球广域网&#xff0c;也称为万维网(www)&#xff0c;能够通过浏览器访问的网站。 在我们日常的生活中&#xff0c;经常会使用浏览器去访问百度、京东、传智官网等这些网站&a…

Dubbo调用

Dubbo调用 0. 概述 Dubbo 服务调用过程比较复杂&#xff0c;包含众多步骤&#xff0c;比如发送请求、编解码、服务降级、过滤器链处理、序列化、线程派发以及响应请求等步骤。 1. 客户端发送请求时序图 InvokerInvocationHandler.invoke 1. 对于Object中的方法toString, has…

IDEA常用配置整理说明

文章目录IDEA常用配置整理说明1、 IDE配置1.1 设置相关1.1.1 忽略大小写开关1.1.2 取消单行显示tabs的操作1.1.3 项目文件编码1.1.4 滚轴修改字体大小1.1.5 设置显示行号和方法间的分隔符1.1.6 新建类头注释信息1.1.7 JavaDoc注释&#xff08;就是方法上加的注释&#xff09;1.…

蓝桥杯:整数分解

题目链接 问题描述 答案提交 本题答案&#xff1a;691677274345。 思路分析 问题描述 将 3 分解成两个正整数的和, 有两种分解方法, 分别是312 和 321 。注意顺序不同算不同的方法。 将 5 分解成三个正整数的和, 有 6 种分解方法, 它们是 113 122 131 212 221 311。…

WebSocket长连接接入支付宝消息服务,实现消息通知

大家好&#xff0c;我是小悟 在对接支付宝开放平台的一些常用功能时&#xff0c;常常需要收到支付宝的回调通知结果&#xff0c;才能处理业务逻辑。此文介绍通过WebSocket长连接接入支付宝消息服务&#xff0c;实现消息通知。 包括五部分内容&#xff1a;问题、优势、配置、代…

Spring3.*中ASM和JDK8版本冲突问题及解决方案

1. 问题描述 Spring3.* 中ASM版本较低&#xff0c;不支持对 JDK8 class文件进行操作&#xff0c;启动时报错。 Tomcat报错 org.springframework.asm.MethodVisitor.visitParameter2. 问题原因 Spring使用ASM类库操作Java class文件&#xff0c;Spring.* 依赖的ASM类库版本比…

右键万能格式转换工具

格式转换是很多小伙伴都会用到的东西&#xff0c;无论是视频、音频还是文档等格式&#xff0c;其实做这方面的软件有很多&#xff0c;比如之前一直在用的格式工厂&#xff0c;蛮好用的。后面用到了ABC工具箱&#xff0c;&#xff08;这款软件批量处理图片会很方面&#xff09;界…

故障分析 | 库表名-大小写不规范,运维两行泪

作者&#xff1a;刘聪 爱可生华东交付服务部 DBA 成员&#xff0c;专职 MySQL 故障处理及相关技术支持。座右铭&#xff1a;好好学习&#xff0c;天天向上。 本文来源&#xff1a;原创投稿 *爱可生开源社区出品&#xff0c;原创内容未经授权不得随意使用&#xff0c;转载请联系…

【博客589】K8s Topology Spread Constraints

K8s Topology Spread Constraints 场景 你可以使用 拓扑分布约束&#xff08;Topology Spread Constraints&#xff09; 来控制 Pod 在集群内故障域之间的分布&#xff0c; 例如区域&#xff08;Region&#xff09;、可用区&#xff08;Zone&#xff09;、节点和其他用户自定义…

带你从概念到服务对象,解读商业智能BI

数据在当前时代已然成为了重要的战略资源&#xff0c;但数据资产却并不是每个企业都能利用。数据本身并没有太多意义&#xff0c;规模小还好&#xff0c;一旦规模量变大&#xff0c;人们就难以理解其中的含义。所以讲数据资产价值化&#xff0c;使其转化为信息和知识成为了企业…

五个了解自己天赋优势的分析工具(四)MBTI测试

MBTI测试 MBTI全称“迈尔斯-布⾥格斯类型指标”&#xff0c;是美国作家伊莎⻉尔布⾥格斯迈尔斯和她的⺟亲凯瑟琳库克布⾥格斯在20世纪40年代编制的⼀种⼈格测试。 这⼀测试的基础来⾃著名⼼理学家荣格提出的⼼理类型理论。 荣格将⼈的性格类型分为“内向&#xff08;I&#xf…

广告业务系统 之 业务串联 —— “ PDB - 广告投放【保量保价】”

文章目录广告业务系统 之 业务串联 —— “ PDB - 广告投放【保量保价】”PDB - 广告投放[保量保价]PDB 浅述PDB 数据流图保量逻辑设计订单曝光拆分凌晨停量补量广告业务系统 之 业务串联 —— “ PDB - 广告投放【保量保价】” PDB - 广告投放[保量保价] 常规的 ADX 系统&am…

【C语言练习】 二进制中1的个数

目录题目详情&#xff1a;思路一&#xff1a;思路二&#xff1a;思路三&#xff1a;题目详情&#xff1a; 思路一&#xff1a; 拿到二进制的每一位&#xff0c;看它是否等于 111&#xff0c;再定义一个计数器变量&#xff0c;如果等于 111&#xff0c;计数器变量就加 111。最终…

rancher的k3s证书过期

文章目录现象rancher报错日志分析解决思路解决现象 web上rancher不能访问&#xff0c;服务上看443端口没了&#xff0c;6443端口仍然在。 rancher报错日志 rancher | time"2023-01-05T01:56:07.241615176Z" levelinfo msg"Waiting for master node start…

代码随想录--数组相关题目整理

LeetCode数组相关题目整理 1. LeetCode704 二分查找 给定一个 n 个元素有序的&#xff08;升序&#xff09;整型数组 nums 和一个目标值 target &#xff0c;写一个函数搜索 nums 中的 target&#xff0c;如果目标值存在返回下标&#xff0c;否则返回 -1。 解题思路&#xf…

亚马逊云科技助力游戏上云学习心得-运行篇

云服务已经是大势所趋了&#xff0c;通过购置传统服务器来进行应用开发&#xff0c;无法与现代化敏捷的开发方法相结合&#xff0c;对于系统运维的难度也大大增加&#xff0c;而云服务的弹性伸缩、动态计费可以很好地帮助中小企业实现快速应用开发&#xff0c;使得产品的价值最…

一文吃透python面向对象基础+进阶

目录基本理论面向过程与面向对象面向过程面向对象基本概念面向对象基本语法定义类创建对象属性属性和变量区别对象属性类属性限制对象属性添加方法实例方法类方法静态方法私有属性只读属性私有方法魔法方法字符串表示可调用索引操作切片操作比较操作布尔判断遍历操作面向对象三…

字节青训营Go语言学习第一天--基础语言+实战案例

文章目录走进Go语言基础语言2.2基础语言-变量2.3基础语法- if else2.4基础语法-循环基础语法-switch基础语法-数组基础语法-切片基础语法-map基础语法-range基础语法-函数基础语法-指针基础语法-结构体基础语法-结构体方法基础语法-错误处理基础语法-字符串操作基础语法-字符串…

通讯录升级--可增容(动态增长空间)

通讯录成员的改变 之前我们定义了date[100]的数组用来存放100个人的信息&#xff0c;但是当需要存储的人数超过100时&#xff0c;内存不够&#xff0c;存储人数较少时&#xff0c;又有些浪费&#xff0c;并且数组空间在创建时就已经确立&#xff0c;无法随需求改变&#xff0c…