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 += i
i += 2
print("1~99之间的偶数和为:", sum)
判断素数
x = int(input("请输入一个数字")) #1456789876541
i = 2
while i<x:
if x%i ==0:
print(f"{x}不是素数")
break
i+=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:#偶数,跳过
continue
print(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)