关于Python循环,看这一篇就够了

时间:2022-07-26
本文章向大家介绍关于Python循环,看这一篇就够了,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

什么情况下用到循环?

一段代码需要重复执行,就需要用到循环来提升代码效率。

for循环

使用场景

循环遍历任何序列项目,处理已知循环次数的问题。

for循环语法:

for 变量 in 可迭代对象(序列):
    循环语句块
str1 = 'hellotesters'
for i in str1:    
    print(i)

range()函数介绍

Python中range()函数返回的是一个整数序列的对象,一般用在 for 循环中。

函数语法 range(start, stop,[step]) 参数说明:start: 计数从start开始。默认是从 0 开始。end: 计数到end结束,但不包括 end。step:步长,默认为1。

range(10)  # 从 0 开始到 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
range(1, 11) # 从 1 开始到 11 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
range(0, 30, 5)  # 步长为 5 [0, 5, 10, 15, 20, 25]
range(-10, 0, 2)  # 负数 [-10, -8, -6, -4, -2]

while循环

使用场景

while循环,通过一个条件判断是否执行循环体中的语句。

while语法:

while 
条件表达式 :
    代码块
else :
    代码块

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

while True :    
    print('hello')

break和continue

continue的作用:用来结束本次循环,紧接着执行下一次循环。

break的作用:在循环体内遇到break则会跳出循环,终止循环,不再执行下面的语句。

break/continue只能用在循环中,不能单独使用

break/continue在嵌套循环中,只对最近的一层循环起作用

分别使用break和continue运行下面代码,体会两者的区别。

str1 = 'hellotesters'
for i in str1:
    if i == 'e':
        break
        #continue
    print(i)
else:
    print('循环正常结束执行的else的代码')

两者的区别

while基于条件判断的循环,for循环基于容器的循环,所以需要根据具体场景进行选取,比如属于条件约束的,使用while循环,有明确的迭代对象(序列)则使用for循环。

for循环经典使用

1.for循环可以遍历任何序列数据,比如元组、字符串、列表、字典等,下面是两种遍历方式:

元组、字符串、列表遍历:

方式一:按下标来遍历

for index in range(列表长度)

list01 = ['A', 'B', 'C', 'D', 'E', 'F']
for i in range(len(list01)):
    print(list01[i])

方式二:直接遍历其中的值

for item in 列表变量名

list01 = ['A', 'B', 'C', 'D', 'E', 'F']
for item in list01:
    print(item)

遍历字典:

方式一:只对键的遍历:

dic = {'name': 'zhangsan', 'age': '20', 'sex': 'man'}
for key in dic.keys():
    print(key)

方式二:对键和值都进行遍历:

dic = {'name': 'zhangsan', 'age': '20', 'sex': 'man'}
for key, value in dic.items():
    print(key, value)

while循环经典案例:

1.1到100累加

i = 1
result = 0
while i <= 100:
    result += i    i += 1

print(result)

2.99乘法表

方法1

j = 1
while j <= 9:
    i = 1
    while i <= j:
        print(f'{i}*{j}={j*i}', end='t')        
        i += 1    
      print()    
      j += 1

方法2

for i in range(1, 10):    
    for j in range(1, i + 1):        
        print('%d x %d = %dt' % (j, i, i * j), end='')    
    print()