跳出本次循环进行下一次循环_初学者Python学习笔记--循环while和for

什么是循环?

循环就是重复做一些事情,往复回旋。指事物周而复始地运动或变化。意思是转了一圈又一圈,一次又一次地循回。

Python里,循环分为有限循环for和无限循环while。

while循环在给定的判断条件为 true 时执行循环体,会一直循环执行,直到遇到控制语句,或者判断的条件不为true时退出循环体。

for循环重复执行语句,可以遍历任何序列的项目,如一个列表或者一个字符串。遍历完结退出循环。

为什么要用循环?

使用循环可以处理一些重复性,周期性的事务。让重复性的工作简洁化。在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。

while循环语句

while循环的执行流程如图:

6ae8ef6feda04630cc431032038b387d.png

正常的while循环是这样的:

57b36e469305ea85f6392426f6c353c6.gif

当while的条件一直为true的时候,循环将会一直进行,不会停止。

比如:

>>> a = 1
>>> while a < 2:  # a<2 一直判定为true,这个循环会一直打印‘no’
...     print('no')
no
no
...
no
# 常用的无限循环方法还有 while true:

想要让循环停止,必须掌握刹车技术。

  • 设置一个标志位,循环的时候去改变这个标志位,以达到让判定的条件变成false,跳出循环。
>>> a = True
>>> while a:
...     a = False
...     print('TT')
...
TT

# 来算一个小时候的考试题,计算1+2+3+4+....100的值。
>>> count = 1  # 计算第几次
>>> a = 0  # 存放累加值
>>> while count <= 100:  # <=100的时候循环,就是最后循环到100
...     a += count  # 前一次的累加值+当次的数值
...     count += 1  # 次数+1,当加到100的时候就是最后一次了 
...
>>> print(a)
5050  # 答案出来啦
  • 用控制语句break,循环中遇到break直接退出循环。
# 还是用上面的计算题举例,这次试用break跳出循环
>>> while True:  # 无限循环
...     a += count
...     count += 1
...     if count > 100:  # 判断计数
...         break  # 当计数大于100时,break跳出循环
...
>>> print(a)
5050
  • 用控制语句continue,跳过本次循环,继续执行后一次循环。
# 打印1-10的所有奇数
>>> a = 1
>>> while a < 11:
...     if a % 2 == 0:  # 判断是不是可以被2整除
...         a += 1      # 能的话a+1
...         continue    # continue 跳过本次循环,继续下一次
...     print(a)        # 奇数的话打印出来
...     a += 1          # 给自己+1 进行下一次循环
...
1
3
5
7
9
  • 使用else语句,当条件判定为false时,执行else中的内容。
>>> a = 1
>>> while a < 5:
...     print(a)
...     a += 1
... else:               # 当a<5 判定为false时执行
...     print('now a is',a)
...
1
2
3
4
now a is 5

举例:输错3次密码退出

>>> passwd = 'abc'
>>> a = 1
>>> while True:
...    pwd = input("请输入密码:")
...    if pwd == passwd:
...        print('密码正确')
...        break
...    elif a == 3:
...        print("密码错误3次,退出")
...        break
...    a += 1
...
请输入密码:aaa
请输入密码:aaa
请输入密码:aaa
密码错误3次,退出

>>> a = 1
>>> while True:
...    pwd = input("请输入密码:")
...    if pwd == passwd:
...        print('密码正确')
...        break
...    elif a == 3:
...        print("密码错误3次,退出")
...        break
...    a += 1
...
请输入密码:aaa
请输入密码:abc
密码正确

for循环语句

for循环可以遍历任何序列的项目,如一个列表或者一个字符串。

语法格式

for iterating_var(变量) in sequence(序列):
statements(s)

for循环的流程图:

0ecfd4d5a60d449f6709639fb1674dd5.png
# 用for 循环来计算1+2+3+....100
>>> a = 0
>>> for i in range(1,101):  # range(1,101)是一个整数列表,从1开始到101(不包含101)
...     a += i
...
>>> print(a)
5050

# 用for遍历字符串
>>> str = "abcdefghi"
>>> for i in str:
...     print(i)
...
a
b
c
d
e
f
g
h
i

# 控制语句同样可以用于for循环中
>>> str = "abcdefghi"
>>> for i in str:
...     if i == "e":  # 遇到e的话就跳出循环
...         break
...     else:
...         print(i)
...
a
b
c
d
>>> str = "abcdefghi"
>>> for i in str:
...     if i != "e":  # 不是e的时候跳过本次循环
...         continue
...     else:
...         print(i)
...
e

# for 还有else用法,跟while的else一样,循环结束后执行else语块中内容。
>>> str = "abcdefghi"
>>> for i in range(len(str)):  # 常用的手法,len()获取字符串(列表)长度,然后range获得index遍历
...     print(str[i])
... else:
...     print("it is the end")
...
a
b
c
d
e
f
g
h
i
it is the end

实际使用中,循环,条件判断经常嵌套使用,以后记录嵌套示例。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值