本篇内容介绍了“Python3中的for循环怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
一·range()函数
range函数咱们简单来说就是调用该函数形成一个一定范围的数字序列。
格式:range(起始值, 结束值, 步长);注意这里的取值是左闭右开,意思是起始值会取,结束值并不会取到。步长如果概念不是很清楚的话可以看看这一片文章:python3中的切片_mb6107f4b8c7d14的技术博客_51CTO博客
举个例子:
r = range(1, 10, 1) # 起始值,结束,步长 # 取1-9的数(左闭右开) print(list(r)) 把它装到一个列表中进行输出 # 输出结果:[1, 2, 3, 4, 5, 6, 7, 8, 9] r1 = range(10) # 如果只是写个10,则默认起始值为0,步长为1 print(list(r1)) # 输出结果:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] print(range(1, 10, 1)[7]) # 同时也可以这样取值 # 输出结果:8
二·for循环
for循环与之前的while循环一样是循环语句,但是与while循环不同的是while循环是通过判断条件来决定是否继续循环,而for循环则是根据可迭代对象来进行循环。因为所有可迭代对象都是有限的,所以for循环中循环无法无限进行下去。
可迭代对象:range(),字符串,列表,元组,字典,集合。
格式:
# for 临时变量 in 可迭代对象(序列): # 重复执行的代码1 # 重复执行的代码2 # ......
举个例子:
for i in range(0, 10, 1): print(i) print(' 我在学python', i) # 输出结果:0 # 我在学python 0 # 1 # 我在学python 1 # 2 # 我在学python 2 # 3 # 我在学python 3 # 4 # 我在学python 4 # 5 # 我在学python 5 # 6 # 我在学python 6 # 7 # 我在学python 7 # 8 # 我在学python 8 # 9 # 我在学python 9 # 循环体中没有变量,可以用_来代替定义变量 for _ in range(2): # 序列的长度决定循环的次数 print('我要学') # 输出结果:我要学 # 我要学 # 挨个输出字符串 str1 = '我在学python' for k in str1: print(k, end='') # 将print()函数中的自动换行end=''所以就一行输出了 # 输出结果:我在学python
三·for与else连用
这里for与else连用和while循环里面效果是一样的,当for循环正常结束时,执行else里面的语句,如果不是正常结束的就不执行else里面的语句。
格式:
# for 临时变量 in 可迭代对象: # 重复执行的代码1 # 重复执行的代码2 # ... # else: # 循环正常结束执行代码1 # 循环正常结束执行代码2 # ...
例子:
# 之前while里面同样的案例用for循环 for k in range(1, 6): if k == 3: print(f'我吃到了第{k}个,吃饱了,不吃了') break print(f"我在吃第{k}个苹果") else: print('吃完了') # 输出结果:我在吃第1个苹果 # 我在吃第2个苹果 # 我吃到了第3个,吃饱了,不吃了 # 结束 for k in range(1, 6): if k == 3: print(f'我吃到了第{k}个,有虫子,不吃了') continue print(f"我在吃第{k}个苹果") else: print('吃完了') # 输出结果:我在吃第1个苹果 # 我在吃第2个苹果 # 我吃到了第3个,有虫子,不吃了 # 我在吃第4个苹果 # 我在吃第5个苹果 # 吃完了 # 结束
四·for循环嵌套
for循环的嵌套就在一个for循环里面放入另外一个for循环,注意只有进入外层for循环才可以执行内层的for循环;其次还得注意,进入第一次外层循环后,只有内层的整个循环结束了,才可以执行外层的第二次循环。
例子一:
# 打印矩形 a = int(input('请输入矩形大小:')) # 当输入3时 for j in range(1, a+1): # 决定行数 for h in range(1, a+1): print('*', end='') # print 里面有默认换行‘ ’,将end中的换行换成‘ ’把*打印在一行 print() # print()会默认添加换行 让下次的数据输出在下一行也可以print() # 输出结果:*** # *** # ***
例子二:
# 打印直角三角形 九九乘法表 a = int(input('请输入三角形大小:')) for j in range(1, a+1): for h in range(1, j+1): print(f'{h}x{j}={h*j} ', end='') # print 里面有默认换行‘ ’,将end中的换行换成‘ ’把*打印在一行 print(end=' ') # 输出结果:1x1=1 # 1x2=2 2x2=4 # 1x3=3 2x3=6 3x3=9 # 1x4=4 2x4=8 3x4=12 4x4=16 # 1x5=5 2x5=10 3x5=15 4x5=20 5x5=25 # 1x6=6 2x6=12 3x6=18 4x6=24 5x6=30 6x6=36 # 1x7=7 2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=49 # 1x8=8 2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=64 # 1x9=9 2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=81