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 里面有默认换行‘n’,将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 里面有默认换行‘n’,将end中的换行换成‘ ’把*打印在一行
print(end='n')
# 输出结果: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

发表评论

相关文章