欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 能源 > Python--循环

Python--循环

2024/10/25 9:26:06 来源:https://blog.csdn.net/m0_75266675/article/details/142531365  浏览:    关键词: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)    

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com