unexpected indent:
就是说“n”是一个“意外的”缩进。也就是说,这里的问题就是指“n”是一个意外的缩进。通过查看源代码可知这里的确是缩进了一个字符位。据此推断,我们把这句话的缩进取消,也就是顶格写,后就不报错了。
循环的四个应用场景
1、使用可迭代对象中的数据
在实际开发中,经常会将容器中的全部数据作为原料使用。在这种应用场景中,需要搞明白的是:容器中的每一个单一的数据和要做的事情之间的关系究竟是怎样的。比如像是发送消息给所有的用户的这种行为,这其中的批处理是怎样实现的?实际上市给一个相当于【信息发送机】的函数批量提供要发送的用户名和内容,从而实现循环调用函数。
users = {
"fulan kelin",
"huo jin",
"steve jobs"
}
for user in users:
print("hello," + user)
还有一个类似的场景:我们使用爬虫获得每一个页面信息的时候,是一次打开并保存列表中的每一个网址的操作。
urls = {
'www.a.com',
'www.b.com',
'www.c.com'
}
for url in urls:
full_url = 'http://' + url
#web = open(full_url)
#web.save()
print(full_url)
2、构造、整理容器内的数据
Python capitalize()将字符串的第一个字母变成大写,其他字母变小写。对于 8 位字节编码需要根据本地环境
aublms_list = {
"frank john",
"sha diao",
"big data"
}
new_list = []
for aublm in aublms_list:
new_name = aublm.capitalize()
new_list.append(new_name)
print(new_list)
3、嵌套多重循环
所谓多重循环就是在循环中进行循环,有时候我们会在同一时间处理多个嵌套的数据结构,也就是可迭代对象中的每一个元素仍旧是可迭代的。这种循环常见于在数据库类型的对象中查询或者是修改单位数据。
album = [
[
"Good Times Bad Times",
],
[
"Your Time Is Gonna Conna",
"Black Mountain Side"
]
]
for side in album:
for song in side:
print(song)
4、循环中的条件分支
将循环中的数据进行分类和筛选也是一种常见的操作行为,这不可避免的要使用条件判断作为分支的筛选器。
举例:循环数据库中的用户,比如用户等级,老用户和新用户,老用户发送A信息,新用户发送B信息。
把一堆数据中的每一个都按照特定的规则进行重复处理。
for i in container:
do something