概述
for 循环所做的事情概括成一句话就是:于.....其中的每一个元素,做....事情。
for是关键词,后面紧跟着的是一个可以容纳“每一个元素”的变量名称,起名时不要和关键词重名。
在关键词 in 后面所对应的一定是具有“可迭代的” (iterable)或者说是像列表那样的集合形态的对象,即可以连续地提供其中每一个元素的对象。
# for 变量 in 可迭代对象:所谓可迭代对象,就是指那些元素可以被单独提取出来的对象,如 目前最熟悉的字符串,
# 像“FishC”就是由“F”“i”“s”“h”“C”五个字符元素构 成的。
# 那么,for循环语句每执行一次就会从该字符串(可迭代对象)中拿出其中一个字符,然后存放到变量中。
# 循环体
for each in "FishC":
print(each)
打印结果:
F
i
s
h
C
# 100是一个整数,它不是“可迭代对象”,所以Python会直接报错
sub=0
for i in 100:
sub += i
print(sub)
打印结果:
Traceback (most recent call last):
File "C:/Users/issuser/PycharmProjects/untitled/test001/循环.py", line 27, in <module>
for i in 100:
TypeError: 'int' object is not iterable
# 生成的数字序列中,只包含开始数值,并不包含结束数值
a=list(range(10))
print(a)
b=list(range(3,8))
print(b)
c = list(range(2,10,3))
print(c)
# 这个步长除了可以是正整数,还可以是负整数
d=list(range(0,-10,-3))
print(d)
打印结果:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[3, 4, 5, 6, 7]
[2, 5, 8][0, -3, -6, -9]
#求和
sum=0
for i in range (100):
sum+=i
i+=1
print(sum)
打印结果:
4950
# 下面代码将打印2018年以后出现的第一个闰年(注: 当年份可以被4整除且不能被100整数,或者可以被400整除时,该年被 定为闰年):
for year in range(2018,2100):
if (year%4==0) and (year%100!=0) or (year%400==0):
break
print('2008年以后第一个出现的是',year)
打印结果:
2008年以后第一个出现的是 2020
"""
1 + 1 = 2
2 + 1 =3
.
.
10 + 1 = 11
打印这样的结果,需要一个内置函数—range,只需要在range函数后面的括号中填上数字,就可以得到一个具有连续整数的序列
"""
for num in range(1,11):
print(str(num) + ' + 1 =' ,num + 1)
"""
这段代码表达的是:将1~10范围内的每一个数字依次装入变量num中,每次展示一个 num + 1的结果
变量num被循环赋值10次,等同于
num = 1
print(str(num) + ' + 1 =' ,num + 1)
num = 2
print(str(num) + ' + 1 =' ,num + 1)
.
.
num = 10
print(str(num) + ' + 1 =' ,num + 1)
"""
打印结果:
1 + 1 = 2
2 + 1 = 3
3 + 1 = 4
4 + 1 = 5
5 + 1 = 6
6 + 1 = 7
7 + 1 = 8
8 + 1 = 9
9 + 1 = 10
10 + 1 = 11
# for 循环进行遍历时,尽量不要对遍历的对象进行修改,尤其是删除
a = [1,2,3,4,5,6,7]
for i in a:
if i==2 or i==3:
a.remove(i)
print(i)
print(a)
print(type(i))
"""比如上面的输出的结果是[1,3,4,5,6,7],我们想的是删除2和3,但是它只删除了2,理论上它已经遍历了第二个元素所以3就不会被删除了"""
打印结果:
2
[1, 3, 4, 5, 6, 7]
<class 'int'>
a = [1,2,3,4,5,6,7]
b=[]
for i in a:
if i==3 or i==4:
b.append(i)
print(i)
print(b)
# 另一种写法:
a = [1,2,3,4,5,6,7]
b=[]
for i in a:
if i==3 or i==4:
b.append(i)
print(i)
print(b)
打印结果:
3 #i=3
[3] #b=[3]
4 #i=4
[3, 4] #b=[3,4]另一种打印结果:
3 #i=3
4 #i=4
[3, 4] #b=[3,4]
a = [1,2,3,4,5,6,7]
b=[]
for i in a:
if i==3 or i==4:
b.append(i)
print(i)
print(b)
for i in b:
a.remove(i)
print(a)
打印结果:
3 #i=3
[3] #b=[3]
4 #i=4
[3, 4] #b=[3,4]
[1, 2, 5, 6, 7] #a=[1,2,5,6,7]
"""因为a和b指向的是同一个地址,所以对列表增加元素时,b也会增加
函数和类同样如此,函数和类的内容扔进内存里,让函数名或类名指向那片地址"""
a = [1]
b=a
a.append(2)
print(b)
print(a)
打印结果:
[1, 2]
[1, 2]
"""歌曲列表中有三首歌'Holy Diver','Thunderstruck','Rebel Rebel',当播放到每首时,分别显示对应的歌手名字'Dio,AC/DC,David Bowie'"""
song_list = ['Holy Diver','Thunderstruck','Rebel Rebel']
for song in (song_list):
if song =='Holy Diver':
print(song,' - Dio')
elif song =='Thunderstruck':
print(song,' - AC/DC')
elif song == 'Rebel Rebel':
print(song,'- David Bowie')
"""将song_list列表中的每一个元素依次取出来,并分别与三个条件作比较,如果成立则输出相应的内容"""
打印结果:
Holy Diver - Dio
Thunderstruck - AC/DC
Rebel Rebel - David Bowie
# 嵌套循环(Nested Loop)
for i in range(1,10):
for j in range(1,10):
print('{} X {} = {}' .format(i,j,i * j))
"""最外层的循环依次将数值1~9存储到变量i中,变量i每取一次值,内层循环就要一次将1~9中存储在变量j中
最后展示当前i、j与i*j的结果
"""
打印结果;
1 X 1 = 1
1 X 2 = 2
1 X 3 = 3
1 X 4 = 4
1 X 5 = 5
1 X 6 = 6
1 X 7 = 7
1 X 8 = 8
1 X 9 = 9
2 X 1 = 2
2 X 2 = 4
2 X 3 = 6
2 X 4 = 8
2 X 5 = 10
2 X 6 = 12
2 X 7 = 14
2 X 8 = 16
2 X 9 = 18
3 X 1 = 3
3 X 2 = 6
3 X 3 = 9
3 X 4 = 12
3 X 5 = 15
3 X 6 = 18
3 X 7 = 21
3 X 8 = 24
3 X 9 = 27
4 X 1 = 4
4 X 2 = 8
4 X 3 = 12
4 X 4 = 16
4 X 5 = 20
4 X 6 = 24
4 X 7 = 28
4 X 8 = 32
4 X 9 = 36
5 X 1 = 5
5 X 2 = 10
5 X 3 = 15
5 X 4 = 20
5 X 5 = 25
5 X 6 = 30
5 X 7 = 35
5 X 8 = 40
5 X 9 = 45
6 X 1 = 6
6 X 2 = 12
6 X 3 = 18
6 X 4 = 24
6 X 5 = 30
6 X 6 = 36
6 X 7 = 42
6 X 8 = 48
6 X 9 = 54
7 X 1 = 7
7 X 2 = 14
7 X 3 = 21
7 X 4 = 28
7 X 5 = 35
7 X 6 = 42
7 X 7 = 49
7 X 8 = 56
7 X 9 = 63
8 X 1 = 8
8 X 2 = 16
8 X 3 = 24
8 X 4 = 32
8 X 5 = 40
8 X 6 = 48
8 X 7 = 56
8 X 8 = 64
8 X 9 = 72
9 X 1 = 9
9 X 2 = 18
9 X 3 = 27
9 X 4 = 36
9 X 5 = 45
9 X 6 = 54
9 X 7 = 63
9 X 8 = 72
9 X 9 = 81
最后
以上就是兴奋天空为你收集整理的打卡day03 python基础—for循环的全部内容,希望文章能够帮你解决打卡day03 python基础—for循环所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复