循环结构之for循环

循环结构之for循环
重点记打印输出循环变量 i 不能打印存数据的变量否则打印的结果解释整组数据

for循环能够做到的事情while循环都可以做到
但是for循环的语法结构更加简单 尤其擅长循环取值
for循环之语法
for 变量名 in 可迭代对象 变量名可自己取 可迭代对象就是一组数据 可以是
字符串、列表、字典、元祖
执行for 循环的循环体代码
变量名见名知意
具体运用
for name in 学习姓名名单
name_list = ['老大','老二', '老三','老六', 'a']
for i in name_list:
print(i)

循环打印出学生名单
for addr in 地址信息
add = ['上海', '北京', '海南', '加拿大']
for i in add:
print(i) # 打印每次i循环之后的数据值
add = ['上海', '北京', '海南', '加拿大'] # 四个数据需要打印四次先做计数器让打印功能可以进行四次
nun = 0 # 比如还没打印就用一个变量来存我们打印的次数
while nun < 4: # 打印四次之后循环条件不满足退出循环下面有代码继续执行没有则退出
print(add[nun]) # 打印数据值
nun += 1 # 每打印一次就加一

while 循环需要数具体有多少个数据定义多少次然后结束,for循环取值自动结束
while 循环需要数具体有多少个数据定义多少次然后结束,for循环取值自动结束
所以for 循环语法结构更加简单,for能做的while也能做所以for 循环语法结构更加简单,for能做的while也能做
循环打印出地址用i来存,循环一次i就变一次,i最后的数据值永远会是这组数据中的最后一个

for循环字典 默认只能取到字典k的数据 v默认不参与
user_dict = {
'username': 'jason',
'pwd': 123,
'age': 18
}
for i in user_dict:
print(i) # 循环取出的是k,v莫认不参与
#打印输出循环变量 i 不能打印 存数据的变量
desc = 'hello baby!
"""for循环字符串 默认每次取单个字符"""
for i in desc:
print(i) # 打印结果是单个单个的字符
#打印输出循环变量 i 不能打印 存数据的变量
# """for循环元组数据与列表一致 默认都是单个数据值"""
# for i in t:
# print(i)
# s1 = {1,2,3,4,5}
# for i in s1:
# print(i)

for 和 range的使用
1.range方法
range=范围
可以帮我们产生一个多个数据值的方法
for i in range(5):
括号内只有一个数字那么从1 开始到4 的范围最后一位不要
主要是 确定i的值 i 是1 >>>某个范围的值是个变量
for i in range(3, 10): 括号里第一个数是确定 i 从哪个数开始变
第二个数是停止范围10 减一
打印i之后是 从3 到9 的一组数据
for i in range(0, 100, 25): 括号里第一个是 0 是开始的 ,到100, 第三个数表达的意思是每间隔25 取一个数据
在python2中有两个
range()
直接产生一个列表 当数据量很大的时候可能会造成内存溢出(爆满)
xrange()
其实就是python3里面的range方法
在python3中只有一个
range()
类似于是一个工厂 什么时候要什么时候创建给你 节省内存
网络爬虫爬取网址
实用案例:
https://www.cnblogs.com/
https://www.cnblogs.com/#p2
list = """https://www.cnblogs.com/#%s""" 1.准备文本
for i in range (0, 100, 20): 2.设定 i可以变的范围
print(list% i) 3. 格式化打印网址
https://www.cnblogs.com/#0
https://www.cnblogs.com/#20
https://www.cnblogs.com/#40
https://www.cnblogs.com/#60
https://www.cnblogs.com/#80
for + break
break同样可以强制结束for循环
实例:
for i in range(1,11): #设定循环开始结束范围
print(i) # 打印数据
if i == 7: # 判断数据=7结束循环
break
for i in range(1, 11):
if i == 7:
continue
print(i)
for i in range(1,11):
if i == 7: # 判断数据=7
continue # 跳过本次循环继续下一次
print(i) # 判断分支条件不满足就打印满足就结束一次后面还有所以继续打印后面的
"""
continue也能够结束所在的那一次for循环 直接开始下一次
"""
for+else
for i in range(10):
print(i)
if i == 5:
break
else:
print('嘿嘿嘿 猜猜我什么时候执行')
"""
else配合for一起使用 当for循环没有被强制结束的情况下 循环体结束之后运行else子代码
"""
练习
计算1-100所有的数之和
num = 0#用一个变量来记录数据总和
for i in range(1, 101):#将1到 100的数据生成出来用变量先存着
num +=i#因为 num1= num +1,num2=num1 +2,由于num等于上一次变量加i最终num = num1 +i
print(num)
2.判断列表中数字2出现的次数
l1 = [11,2,3,2,2,1,2,1,2,3,2,3,2,3,4,3,2,3,2,2,2,2,3,2]
count = 0
l1 = [11,2,3,2,2,1,2,1,2,3,2,3,2,3,4,3,2,3,2,2,2,2,3,2]
for i in l1:
if i == 2:
count += 1
print(count) # 走完所有循环后才走这个代码
3.编写代码自动生成所有页网址
https://movie.douban.com/top250
https://movie.douban.com/top250?start=0&filter=
https://movie.douban.com/top250
https://movie.douban.com/top250?start=25&filter=
https://movie.douban.com/top250?start=50&filter=
name = " https://movie.douban.com/top250?start=%s&filter="
for i in range(0,1000, 25):
print(name% i)
na = "https://home.cnblogs.com/blog/page/%s/"
for i1 in range(1, 68):
print(na% i1)
4.编写代码打印出下列图形(ps:for循环嵌套)
*****
*****
*****
*****
for i1 in range(4):
for i in range(5):
print('*', end='')
print()


浙公网安备 33010602011771号