python循环知识

我们在写代码时经常会用到循环,python中有for循环和while循环,我们来详细的了解一下这两种循环。

for循环

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



我们通过一个例子来看一下for循环的具体使用,我们通过range()函数创建一个整数列表,然后将列表中的元素通过for循环打印出来。# for i in range(5)开始迭代的时候,生成一个数值0,第二次迭代再生成数值1,第三次迭代再生成数值2,
for i in range(5):
print(i)
# 输出:
0
1
2
3
4

上面是使用了range()函数,我们试试自己定义一个列表来通过for循环打印:

list1 = ['a', 'b', 'c']
for i in list1:
print(l)
# 输出:
a
b
c

仔细看上面两个例子,我们发现,循环每次迭代时,for会从序列中取一个元素赋值给控制变量i(可自己定义),下一轮迭代又取下一个元素赋值给i。

for循环使用 else 语句

除了使用单独的for语句,还可以使用for ... else语句,else中的语句会在循环正常执行完的情况下执行。

list1 = ['a', 'b', 'c']
for i in list1:
print(i)
else:
print("循环正常执行完毕")
# 输出:
a
b
c
循环正常执行完毕

上面我们说到循环正常执行完毕的情况,那肯定是还有循环不正常执行完毕的情况。什么情况就算不正常执行完毕的退出呢?像通过break、continue语句退出循环的就不算正常执行完毕。

  • break语句:退出整个循环,如果嵌套了循环,则退出break所在的那层循环。
  • continue语句:跳过当前循环的剩余语句,然后继续进行下一轮循环。
  • pass语句:不做任何事情,一般用做占位语句。

for迭代字典

for迭代字典时,可以分为不同的几种方式:

  • 通过keys()迭代字典的key
dict1 = {'name': 'Tom', 'age': 11, 'sex': 'man'}
for i in dict1.keys():
print(i)
# 输出:
name
age
sex
  • 通过values()迭代字典的value
for i in dict1.values():
print(i)
# 输出:
Tom
11
man
  • 通过items()同时迭代key和value
for k, v in dict1.items():
print(k, v)
# 输出:
name Tom
age 11
sex man

range() 函数的介绍

python range() 函数可创建一个整数列表,一般用在 for 循环中

语法:range(start, stop[, step])
  • start:计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
  • stop:计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
  • step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)

while循环

while循环和for循环都能循环做一件重复的事情。不同的地方在于for循环是在序列穷尽时停止,而while循环是在条件不成立时停止。

while循环的执行语句可以是单个语句或语句块,判断条件可以是任何表达式,任何非零、或非空(null)的值均为true。当判断条件假false时,循环结束。

  • 真值表



我们通过一个实例来看一下while循环的使用:

a = 3
while a >= 1:
print(a)
a -= 1
# 输出:
3
2
1

循环条件为a>=1,所以当这个条件成立时就会继续循环,打印a。当a<1时就会停止循环。

当然,如果我们想要中途终止循环也可以使用break和continue语句。

while循环使用else

while循环和for循环一样,也可以使用else语句,我们一起来看一下:

a = 3
while a >= 1:
print(a)
a -= 1
else:
print('循环结束 !')
# 输出:
3
2
1
循环结束 !

无限循环

如果你想要循环永远执行,可以让条件让真一直成立,比如说:

a = 1
while a == 1:
print(a)
else:
print('循环结束 !')
# 会一直循环打印1

break跳出循环

a = 0
while a < 10:
print(a)
a = a + 1
if a == 3:
print("break跳出循环")
break
else:
print('循环结束 !')
# 输出:
0
1
2
break跳出循环

continue进去下一轮循环

for i in range(1, 11):
if i % 2:
continue
print(i)
# 输出
2
4
6
8
10

上面代码中使用了continue语句,if 条件语句的意思是如果i%2为真(不等于0)就进入下一轮循环。如果i%2为假(等于0)时会执行print(i)语句,打印i 。

发表评论
留言与评论(共有 0 条评论)
   
验证码:

相关文章

推荐文章

'); })();