当前位置: 首页 > news >正文

Python--循环

在Python中,while循环和for循环的语法如下:

1. while循环

while循环会在给定条件为真时重复执行代码块。其基本语法如下:

while 条件:# 执行的代码块

示例:

count = 0
while count < 5:print(count)count += 1

2. for循环

for循环用于遍历一个序列(如列表、元组、字典、集合、字符串等),其基本语法如下:

for 变量 in 可迭代对象:# 执行的代码块

示例:

fruits = ['苹果', '香蕉', '橙子']
for fruit in fruits:print(fruit)

总结

  • while循环适合在事先不知道循环次数而只是根据条件决定是否继续循环的情况。
  • for循环更适合遍历已知的可迭代对象。

练习

输出1~3的数字

i = 1
while i <= 3: #i<=3为真则一直执行,直到条件为假print(i)i += 1

求1~99的偶数和

sum = 0 #保存和
i = 2 #偶数
while i < 99:sum += ii += 2
print("1~99之间的偶数和为:", sum)

判断素数

x = int(input("请输入一个数字")) #1456789876541
i = 2
while i<x:if x%i ==0:print(f"{x}不是素数")breaki+=1
if(i >= x):print(f"{x}是素数")

求1+2+3+…+n

x = int(input("请输入一个数字"))
sum = 0
for i in range(x+1):sum += i
print(sum)

求1+1/2+1/3+1/4+1/5+…+1/x

x = int(input("请输入一个数字"))
sum = 0
for i in range(1,x+1):sum += 1/i
print(sum)

3.break

break跳出一层循环。
例:1+2+3+…+x<1000; 1+2+3+…+x+(x+1)>1000,求x的值

sum = 0 
for i in range(1,1000): sum += i; if sum > 1000: break; #跳出循环 
print(i-1,sum) 
sum = 0 
i = 1
while True: sum += i if sum > 1000: break i += 1 
print(i-1,sum) 

4.continue

提前结束本次循环,直接进入下一次循环.
例如:输出1~10直接的奇数.

for i in range(1,11):if i%2 == 0:#偶数,跳过continueprint(i) 

5.使用while 循环处理列表和字典

for 循环是⼀种遍历列表的有效方式,但不应该在 for 循环中修改列表,否则将导致 Python 难以跟踪其中的元素。要在遍历列表的同时修改它,可使用while 循环。

5.1在列表之间移动元素

假设有一个包含新来且未办理入学手续的学生列表,在办理完手续后需把他们移到已办理手续列表中.
⼀种办法是使用⼀个 while 循环,在办理学生手续同时将其从未办理手续学生列表中提取出来,再将其加入已办理手续列表。代码如下:

strangers = ['刘备','曹操','孙权','诸葛亮','周瑜']
students = []
while strangers: #strangers还有数据stu = strangers.pop(0) #移除第一个元素print(f"{stu},已经办理入学手续")students.append(stu) #添加至尾部print("已经办理入学手续有:",students)

5.2删除列表中的特定值

删除下面列表中的所有’cat’

pets = ['dog', 'cat', 'dog', 'goldfish', 'cat', 'rabbit', 'cat'] #宠物列表
print(pets)    
while 'cat' in pets: #pets中还存在cat则循环继续    pets.remove('cat') #删除一个cat    
print("删除'cat'后的列表:",pets)    

相关文章:

  • fastdfs开源分布式文件系统及迁移部署
  • 小学全科电子教材(全阶段全版本)
  • 回归预测|基于卷积神经网络-支持向量机的数据回归预测Matlab程序CNN-SVM 卷积提取特征与原始特征进行融合预测
  • ubuntu命令行设置wifi和宽带连接
  • 如何使用GitHub Desktop管理GitLab库
  • React Native中如何调用iOS的Face ID和Android的生物识别,react-native-biometrics
  • transformer中为什么使用不同的K 和 Q, 为什么不能使用同一个值?
  • SpringBoot-MybatisPlus项目中,在控制台查看sql执行日志的方法
  • FIOT/浙江信达可恩消防股份有限公司25周年庆典隆重召开
  • 网络编程(5)——模拟伪闭包实现连接的安全回收
  • 如何部署北斗定位应用,基于国产自主架构LS2K1000LA-i处理器平台
  • 未来数字世界相关技术、应用:AR/VR/MR;数字人、元宇宙、全息显示
  • 智源研究院与百度达成战略合作 共建AI产研协同生态
  • 从零预训练一个tiny-llama#Datawhale组队学习Task2
  • OJ在线评测系统 前端 完善题目提交服务 细讲异步前端请求与后端接口交互
  • 【JavaScript】通过闭包创建具有私有属性的实例对象
  • axios 和 cookie 的那些事
  • CSS选择器——伪元素选择器之处理父元素高度及外边距溢出
  • Fundebug计费标准解释:事件数是如何定义的?
  • java 多线程基础, 我觉得还是有必要看看的
  • Js基础知识(四) - js运行原理与机制
  • PHP 使用 Swoole - TaskWorker 实现异步操作 Mysql
  • vagrant 添加本地 box 安装 laravel homestead
  • 分布式事物理论与实践
  • 搞机器学习要哪些技能
  • 记录一下第一次使用npm
  • 技术发展面试
  • 简单数学运算程序(不定期更新)
  • 开放才能进步!Angular和Wijmo一起走过的日子
  • 老板让我十分钟上手nx-admin
  • 七牛云 DV OV EV SSL 证书上线,限时折扣低至 6.75 折!
  • 如何利用MongoDB打造TOP榜小程序
  • 使用 5W1H 写出高可读的 Git Commit Message
  •  一套莫尔斯电报听写、翻译系统
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • k8s使用glusterfs实现动态持久化存储
  • Spring第一个helloWorld
  • 长三角G60科创走廊智能驾驶产业联盟揭牌成立,近80家企业助力智能驾驶行业发展 ...
  • 国内开源镜像站点
  • ‌前端列表展示1000条大量数据时,后端通常需要进行一定的处理。‌
  • $.ajax()参数及用法
  • (1)常见O(n^2)排序算法解析
  • (2024,Vision-LSTM,ViL,xLSTM,ViT,ViM,双向扫描)xLSTM 作为通用视觉骨干
  • (Matalb分类预测)GA-BP遗传算法优化BP神经网络的多维分类预测
  • (Redis使用系列) Springboot 使用redis的List数据结构实现简单的排队功能场景 九
  • (二)Linux——Linux常用指令
  • (翻译)Entity Framework技巧系列之七 - Tip 26 – 28
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (函数)颠倒字符串顺序(C语言)
  • (四)进入MySQL 【事务】
  • (一)使用Mybatis实现在student数据库中插入一个学生信息
  • .net core webapi Startup 注入ConfigurePrimaryHttpMessageHandler
  • .NET/C# 将一个命令行参数字符串转换为命令行参数数组 args
  • .php文件都打不开,打不开php文件怎么办
  • [ vulhub漏洞复现篇 ] Apache APISIX 默认密钥漏洞 CVE-2020-13945