版权声明:Genius https://blog.csdn.net/weixin_41987706/article/details/89956786
夜光序言:
乐师说,古风是一刹心如止水、倏然弦惊。
挑一丝清弦,奏一曲离合悲欢错杂弹;
正文:
# 夜光:2.5 for 循环语句
# 2.5.1 目标
# 在前面看到 while 循环的使用方法,除此之外还有一种 for 循环语句,for 在有些场合使用会更加简单。# 教学目标就是 for 循环的使用,并比较 for 与 while 的差异。
# 2.5.2 for 循环语句
# for 循环是根据 range 产生的序列来进行的,分下面几种情况。
# 1、有 start、end、step
# for 循环变量 in range(start,stop,step):
# body
# 循环体 boty 的语句向右边缩进,不写 start 时 start=0,不写 step 时 step=1
# (1) 如果 step>0, 那么变量会从 start 开始增加,沿正方向变化,一直等于或者超过 stop
# 后循环停止。如果一开始就 start>=stop 则已经到停止条件,循环一次也不执行。
# (2) 如果 step<0, 那么变量会从 start 开始减少,沿负方向变化,一直负方向等于或者
# 超过 stop 后循环停止。如果一开始就 start<=stop 则已经到停止条件,循环一次也不执行。
# 2、 只有 stop 值
for 循环变量 in range(stop):
body
循环变量的值从 0 开始,按 step=1 的步长增加,一直逼近 stop,但不等于 stop,只到
stop 的前一个值,就是 stop-1
for i in range(4):
print(i)
# 结果:
0
1
2
3
注意 i 不会到达 4
3、 只有 start,stop 值
for 循环变量 in range(start,stop):
body
(1) 如果 stop<start 则不执行
for i in range(5,3):
print(i)
不执行,因为 i=5 已经在正方向超过 3
(2) 如果 stop>=start,循环变量的值从 start 开始,按 step=1 的步长增加,一直逼近 stop,
但不等于 stop,只到 stop 的前一个值,就是 stop-1
for i in range(2,5):
print(i)
结果:
2
3
4
注意 i 不会到达 5
# 2.5.3 for 循环的退出
# 1、 正常退出
# 循环执行完毕后,即循环变量等于或者超过 stop 后,循环结束或者称为退出。例如:
for i in range(4):
print(i)
print("last: ",i)
# 输出
0
1
2
3
last: 3
执行 4 次后退出,注意退出后 i=3 不是 i=4
#2、 break 中途退出
# 一些情况下要循环中途退出,可以采用 break,例如:
for i in range(4):
print(i)
if i%2==1:
break
print("last: ",i)
0
1
last: 1
当执行到 i=1 时就 break 退出,退出后 i=1
# 2.5.4 【案例】计算数值和
# 1、案例描述
# 计算 s=a+aa+aaa+.....+aa....a 的和,其中 a 为[1,9]之内一个整数,最后一项有 n 个 a,a与 n 由键盘输入。
# 2、案例分析
# 设计一个项目变量 m,开始 m=0,之后 m=10*m+a 就是 a,再次 m=10*m+a 就是 aa,如此就可以产生每个项目,累加到 s 中就可以了。
# 3、案例代码
#输入 a
a=0
while a<=0 or a>=10:
a=input("Enter a[1,9]:")
a=int(a)
#输入 a
n=0
while n<=0:
n=input("Enter n:")
n=int(n)
m=0
s=0
for i in range(n):
m=10*m+a
s=s+m
if i<n-1:
print(m,end="+")
else:
print(m,end="=")
print(s)
# 结果:
Enter a[1,9]:5
Enter n:8
5+55+555+5555+55555+555555+5555555+55555555=61728390