python_循环

news2025/1/11 20:51:57
一、while循环的基础语法
程序中的循环:
while 条件:
    条件满足时,做的事情1
    条件满足时,做的事情2
    ......
即只要条件满足,会无限循环执行
代码示例:
# 简单示例:向Vivian表白100次

i = 0
while i < 100:
    print("Vivian,我喜欢你!")
    i +=1
1.while的条件需为bool类型,True表示继续循环,False表示结束循环
2.需要设置终止循环的条件,如i +=1配合i<100,就能确保100后停止,否则将会无限循环
3.空格缩进
练习 利用while实现1-100求和
# 练习-求1-100的和
i = 1
re = 0
while i <=100:
    re += i
    i += 1
print(re)
二、while循环猜数字案例
# 设置1-100范围的随机数,通过while循环配合input判断输入的数字是否相等
import random
num = random.randint(1,100)
# 定义变量记录猜测的次数
count =0
# 定义一个bool类型的变量,作为是否继续循环的标记
flag = True
while flag:
    guess_num = int(input("请输入你猜测的数字:"))
    count += 1
    if guess_num == num:
        print("恭喜你,猜对啦")
        # 利用flag来终止循环
        flag = False
    else :
        if guess_num < num:
            print("猜小了")
        else :
            print("猜大了")
print(f"你猜测了{count}次")
三、while的循环嵌套
# 为while的嵌套语法
# 表白100天,每次都送10朵玫瑰花
# 外:表白100天;内:每天送10只花
i = 1
while i <= 100:
    print(f"今天是第{i}天,准备表白")
    # 内层控制玫瑰花
    j = 1
    while j <= 10:
        print("送给小美%s枝玫瑰花" %j)
        j += 1
    print("小美我喜欢你")
    i += 1

print(f"表白了{i-1}次,表白成功")
注意事项:
1.注意条件的控制,避免无限循环
2. 多层嵌套,主要使用空格缩进来确定层次关系
四、while循环的潜逃案例
使用while嵌套循环打印9*9乘法表
补充知识点:
1、输出不换行--在print语句中,加上end=''即可
2、制表符\t   (换行\n)
\t 相当于tab键 可以实现多行字符串对齐
打印出的乘法表
# while实现九九乘法表
# 外层控制行 内层控制行的内容
i = 1
while i <= 9:


    j = 1
    while j <= i:
        print(f"{j}*{i}={j*i}\t",end='')
        j += 1
    i += 1
    print()
五、for循环的基础语法
1.基础语法
for循环是一种‘轮询’机制,对内容进行逐个处理
程序中的for循环语法:
for 临时变量 in 待处理数据集:
    循环满足条件时执行的代码
#定义变量
name = "springbear"
#使用for循环遍历
for X in name:
    # 将变量name中的内容挨个取出赋予X临时变量
    print(X,end='')
可以看出,for循环是将字符串的内容-- 依次取出 ;因此for循环也被称作: 遍历循环
 
注意:循环内的语句要有空格缩进
# 练习 数一数字符串中有几个a (区分大小写的)
# 定义字符变量
name = input()
flag = input()
# 定义一个计数变量
count = 0
for X in name:
    if X == flag:
        count += 1
print(f"{name}中含有:{count}个{flag}")

2.range语句
  for循环语句本质是遍历:序列类型(目前除了 字符串外其他的类型--列表、元祖等没接触过)但是不影响我们学习range 获得一个简单的数字序列
# 练习案例-求有多少个偶数
num = 100
count = 0
for X in range(1,num):
    if X % 2 == 0:
        count += 1
print(f"1-{num}(不含109)范围内,有{count}个偶数")
3.for循环变量作用域:
for 临时变量 in 待处理数据集:
    循环满足条件时执行的代码
临时变量,在编程规范,作业范围(作用域),只限定在for循环内部
如果在for循环外部访问临时变量:
  • 实际上可以访问
  • 在编程规范,不不允许不建议如此操作
# 语法3 range(num1,num2,step)
for X in range(2,10,2):
    print(X)
    # 从2开始到10结束,不包含5本身并且步长为2-数字间隔为2
print(X) # 有警告但是没有报错,可以运行,但是不符合代码规范
如果想在for循环之外正常访问临时变量,可以在for循环语句之前先定义临时变量
六、for循环的嵌套使用
同while一样,for循环也支持嵌套使用
for 临时变量 in 待处理数据集:
    循环满足的条件1
    .....
    循环满足的条件N
    ....
    for 临时变量 in 待处理数据集:
        循环满足的条件1
        .....
        循环满足的条件N
注意空格缩进
# 每天表白,坚持100天,每天送10朵花
i = 0
for i in range(1,101):
    print(f"今天是向小美表白的第{i}天。")
    # 内层控制送花
    for j in range(1,11):
        print(f"给小美送的第{j}朵花")
    print("我喜欢你,小美")
print(f"第{i}天,表白成功")
for循环嵌套注意点:
1.空格缩进
2.for循环和while循环可以互相嵌套使用
# for循环实现九九乘法表
for i in range(1,10):  # 外层控制行
    for j in range (1,i+1):  # 内层控制每一行输入内容
        print(f"{j}*{i}={j*i}\t",end='')
    print()
七、循环中断: break 和 continue 关键字控制循环
在循环的重复过程中,会有一些特殊情况使得:
  • 暂时跳过某次循环,直接进行下一步  
  • 提前退出循环,不再继续   break
1、continue--中断本次循环直接进入下一循环 用于for/while 效果一样  临时中断
# 演示continue语法以及输出
for i in range(1,5):
    print("语句1")
    continue
输出:
语句1
语句1
语句1
语句1
# 演示continue语法嵌套以及输出
for i in range(1,5):
    print("语句1",end='')
    for j in range(1,3):
        print("语句2",end='')
        continue   # 作用范围在所在的循环中,对外层循环没有影响力
        print("语句3",end='') # 语句3被中断
    print("语句4")
输出;
语句1语句2语句2语句4
语句1语句2语句2语句4
语句1语句2语句2语句4
语句1语句2语句2语句4
2、break--直接结束循环,用于for/while 效果一样  永久中断
# # 演示break语法以及输出
for i in range(1,5):
    print("语句1")
    break
    print("语句2")  # 因为遇到break整个循环中断
print("语句3")
输出:
语句1
语句3
# 演示break语法嵌套以及输出
for i in range(1,5):
    print("语句1",end='')
    for j in range(1,3):
        print("语句2",end='')
        break
        print("语句3",end='')
    print("语句4")
输出:
语句1语句2语句4
语句1语句2语句4
语句1语句2语句4
语句1语句2语句4
注意:
continue和break在嵌套循环中,只作用于所在的循环,无法对上层循环起作用
---------------------------------------------------------------------------------------------------------------转载注明出处

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

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

相关文章

RabbitMQ系列【13】优先级队列

有道无术&#xff0c;术尚可求&#xff0c;有术无道&#xff0c;止于术。 文章目录前言1. 设置优先级队列2. 消息设置优先级前言 RabbitMQ将消息写入队列中都是按顺序写的&#xff0c;消费时也是按顺序进行消费&#xff0c;队列中的消息是先进先出(FIFO).。 首先测试一下没有优…

多数银行人都会忽略5个影响系统性能的因素总结

性能测试往往在投产上线前开展&#xff0c;无法对整个系统变更进行全面的覆盖测试&#xff0c;因此性能测试需求提出十分关键。 性能测试需求交付过程中&#xff0c;需要对开发团队提出的测试需求进行审查&#xff0c;重点分析交付的测试需求是否充分覆盖了影响系统性能的因素…

【OpenCV-Python】教程:3-7 Canny边缘检测

OpenCV Python Canny 边缘检测 【目标】 Canny 边缘检测的概念cv2.Canny 【原理】 1. 去噪 由于边缘检测非常容易收到图像的噪声影响&#xff0c;第一步使用 5x5 高斯滤波去除图像中的噪声。 2. 寻找图像的亮度梯度 在平滑后&#xff08;去噪后&#xff09;的图像利用 S…

1.5 阻塞与非阻塞I/O

文章目录1、阻塞I/O2、非阻塞I/O3、异步I/O4、同步I/O5、epoll原理函数5.1、int epoll_create(int size)5.2、int epoll_ctl(int epfd,int op,int fd,struct epoll_event* event)5.3、int epoll_wait(int epfd,struct epoll_event* events,int maxevents,int timeout)5.4、内核…

【Linux 线程介绍】

Linux 线程线程一定越多越好吗&#xff1f;线程的实现方式&#xff1a;API:pthread_exit函数演示获取线程的返回值多线程的不安全性查看进程中的线程数进程&#xff1a;一个正在运行的程序 &#xff0c;资源分配的基本单位 线程&#xff1a;进程内部的一条执行序列&#xff08;…

接口自动化测试

接口自动化测试1.基础知识1.接口测试原理2.接口测试点及用例设计方法3.接口测试返回值的处理4.接口测试要点5.常见HTTP状态码6.HTTP基础知识7.接口自动化测试工具2.抓包工具1.chrom抓包2.Fiddle抓包&#xff08;PC端&#xff0c;手机端&#xff09;1.原理2.下载安装3. 认识界面…

HIbernate多表学习

一&#xff0c;表与表之间关系&#xff1a; 1.一对多&#xff1a;多的表用一个外键存一的表的主键id。 2.多对多&#xff1a;新建第三张表&#xff0c;两个外键分别存两个多的表的主键id。 3.一对一 二&#xff0c;Hibernate一对多练习&#xff1a; 一对多映射配置&#…

国际通用回收标准-GRS、RCS的答疑

【国际通用回收标准-GRS、RCS的答疑】 GRS & RCS 国际通用回收标准 GRS和 RCS是目前现行国际公认的回收材料标准。许多国际知名品牌如 ADDIDAS、3M、PUMA、H&M、NIKE等都是此标准的会员。GRS与 RCS最早开始于纺织产业&#xff0c;用以证明其产品或原料含有一定的回收材…

yolov5剪枝实战4: 正常训练和稀疏化训练

1. 准备自己的数据集 1.1 下载项目文件 准备好备注的数据集进行训练,我这里给出了标注好的足球的数据集。从百度网盘下载到项目目录下并解压,网盘地址见文末 VOCdevkit_ball.ziptestfiles.zipprepare_data.py1.2 解压建立或自行建立数据集 使用PASCAL VOC数据集的目录结构,…

怎么批量把图片转文字?教你几招轻松完成

工作中我们经常要与图片、文字打交道&#xff0c;特别是做资料收集的小伙伴&#xff0c;当收到图片资料的时候&#xff0c;就需要将其输出为文字进行保存&#xff0c;如果是单张的时候我们还可以使用手机或者微信直接拍照识别转&#xff0c;但是图片不止一张的时候&#xff0c;…

nvcc编译器之GPU代码编译(chapter 5)

目录 5. GPU编译 5.1 GPU多代架构 5.2 GPU特性列表 5.3 应用兼容性 5.4 虚拟架构 5.5 虚拟架构特性列表 5.6 兼容性补全机制 5.7 nvcc示例 5. GPU编译 本章描述了由nvcc与CUDA驱动协同维护的GPU编译模型。本文介绍了一些技术部分&#xff0c;并在最后给出了具体的示例…

100家!第一批5G应用解决方案供应商推荐名录

近日&#xff0c;5G应用产业方阵&#xff08;5G AIA&#xff09;在“2022年中国5G发展大会5G应用产业发展论坛”发布了“5G应用解决方案供应商推荐名录&#xff08;第一批&#xff09;”入库名单&#xff0c;旨在强化5G应用供需对接&#xff0c;推动5G应用解决方案成熟&#xf…

RDD缓存机制及持久化技术

文章目录RDD缓存RDD缓存API介绍RDD缓存代码演示示例RDD缓存执行原理RDD CheckPointCheckPoint代码演示示例CheckPoint与Cache对比RDD缓存 RDD之间进行Transformation计算&#xff0c;当执行开启之后&#xff0c;就会有新的RDD生成&#xff0c;而之前老的RDD就会消失&#xff0…

js逆向基础篇-某音乐网站-xx音乐

提示!本文章仅供学习交流,严禁用于任何商业和非法用途,如有侵权,可联系本文作者删除! 网站链接:aHR0cHM6Ly9tdXNpYy4xNjMuY29tLyMvc2VhcmNoL20vP3M9JUU1JUE0JUE5JUU0JUI4JThCJnR5cGU9MQ== 案例分析: 搜索歌曲名称,找到列表接口,如上图能看到列表数据的,之后看下传参,…

249 h221 最大岛屿面积

方式1 错误的动态规划 递归公式为 if (matrix[i][j]‘1’&&matrix[i-1][j-1]‘1’){ int edge(int) Math.pow(dp[i][j],0.5); // 边长 int addCount addCount(matrix, i, j, edge); dp[i][j]dp[i-1][j-1]addCount; maxMath.max(max,dp[i][j]); } 只根据 dp[i-1][j-1]…

Dev C++开发环境的配置及使用

标题Dev C开发环境的配置及使用 本文引用自作者编写的下述图书; 本文允许以个人学习、教学等目的引用、讲授或转载&#xff0c;但需要注明原作者"海洋饼干叔 叔"&#xff1b;本文不允许以纸质及电子出版为目的进行抄摘或改编。 1.《Python编程基础及应用》&#xff0…

免费题库接口

免费题库接口 本平台优点&#xff1a; 多题库查题、独立后台、响应速度快、全网平台可查、功能最全&#xff01; 1.想要给自己的公众号获得查题接口&#xff0c;只需要两步&#xff01; 2.题库&#xff1a; 查题校园题库&#xff1a;查题校园题库后台&#xff08;点击跳转&a…

[SUCTF 2019]Pythonginx

源码&#xff1a; app.route(/getUrl, methods[GET, POST]) def getUrl():url request.args.get("url")host parse.urlparse(url).hostnameif host suctf.cc:return "我扌 your problem? 111"parts list(urlsplit(url))host parts[1]if host suctf…

[论文评析]Densely Connected Convolutional Networks,CVPR,2017

Densely Connected Convolutional Networks&#xff0c; 文章信息背景与动机DenseNetDense blockDenseNetDenseNet的集中经典配置总结文章信息 题目&#xff1a;Densely Connected Convolutional Networks&#xff0c; 发表&#xff1a;CVPR,2017 作者&#xff1a;Gao Huang, …

【TWVRP】遗传算法求解带时间窗的含充电站车辆路径规划问题【含Matlab源码 1177期】

⛄一、VRP简介 1 VRP基本原理 车辆路径规划问题(Vehicle Routing Problem&#xff0c;VRP)是运筹学里重要的研究问题之一。VRP关注有一个供货商与K个销售点的路径规划的情况&#xff0c;可以简述为&#xff1a;对一系列发货点和收货点&#xff0c;组织调用一定的车辆&#xff…