跟我一起学python-循环

后端 / 笔记 / 2021-09-29

循环

python中只有两种循环分别是

  • while
  • for

while

while expr:
    pass


# 求100内的和

# range(start,end,step) 左闭右开
# 1-100
# range(1,101)

n = 1

sum = 0

while n <=100:
    sum +=n
    n+=1
print(sum)


5050

for

for i in range(x):
    pass


for i in iter:
    pass

# for 100 以内求和


sum = 0
for i in range(1,101):
    sum+=i

print(sum)


5050
  • i 循环变量
  • iter 可迭代对象

终止循环

while True:
    print("gugua~")

当程序陷入死循环时,可用 ctrl+c 进行强制结束程序执行

跳出循环

跳出循环使用 break 语句

n =1
while n==1:
    break

跳过循环

跳过本次循环 使用 continue语句

for i in range(1,101):
    if i%2==0:
        continue
    print(i)

循环中的else

可以在 forwhile 后面跟上 else语句

如果循环正常结束则执行,else内容,否则不会执行性 else内容

⚠️ 这里的 非正常结束 可能是程序崩溃,或者强制中断循环导致的一些 不确定因素

count = 0

while count<5:
    print(count,"不满足条件")
    count+=1
else:
    print(count)

输出一个list中所有的奇数

lst = [1,3,7,8,9]
for i in lst:
    if i%2!=0:
        print(i)

判断一个list中是否都是奇数

lst = [1,3,7,8,9]

for i in lst:
    if i%2==0:
        break
else:
    print("都是奇数")

查找1000以内的水仙花数

for i in range(100,1000):
    g = i%10
    s = i//10%10
    b = i//100

    if g**3 + s**3 + b**3 == i:
        print(i,end=' ')

153 370 371 407

四叶玫瑰数
...

for i in range(100,1000):
    g = i%10
    s = i%100//10
    b = i%1000//10
    q = i//1000

    if g**4 + s**4 + b**4 + q**4 == i:
        print(i,end=' ')

什么时候用 for 或 while

  • 确定循环次数用 for
  • 不确定循环次数用 while