栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

小白学python系列————【Day10】for循环结构

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

小白学python系列————【Day10】for循环结构

今日内容概要
  • 循环结构之for循环
  • 扩展:网络爬虫
循环结构之for循环
  • for循环介绍

for 循环的语法结构简单,for循环能够做到的事情while循环也能做到。
for循环会比while循环简单易操作一些

  • for循环与while循环对比

1.while循环打印列表内容(代码展示如下):

name_list = ['jason','kevin','tony','tank','ken']
# 使用while循环依次打印出列表中所有的元素
count = 0
while count < 5:
    print(name_list[count])
    count += 1
"""while循环存在缺陷"""

2.for循环打印列表内容(代码展示如下):

name_list = ['jason','kevin','tony','tank','ken']
# 使用for循环依次打印出列表中的所有元素(会自动结束)
for name in name_list:
    print(name)
"""一般情况下涉及到循环取值的时候,都会考虑使用for循环"""

由上两段代码展示可以看出for循环代码段少,语法结构简单。

  • 语法结构
# for name in name_list:
# for 变量名  in  可迭代对象(字符串,列表,字典,元组)
#     for循环的循环体代码
#     print(name)

针对变量的命名:要做到见名知意
for name in 姓名名单
for age in 年龄信息
针对没有明确指向的信息:常用i;j;k;v;item…

  • 常见的取值操作

1.列表

name_list = ['jason','kevin','tony','tank','ken']
# 使用for循环依次打印出列表中的所有元素(会自动结束)
for name in name_list:
    print(name)



D:Python36python36.exe "E:/pythonProject/Day06/01 yuxi.py"
jason
kevin
tony
tank
ken

Process finished with exit code 0

2.字典(只取K值)

# 字典
name_dict = {
    'name':'jason',
    'pwd':'123',
    'age':'20'
}
# """for循环字典 默认只能取到字典的K值"""
for i in name_dict:
    print(i)



D:Python36python36.exe "E:/pythonProject/Day06/01 yuxi.py"
name
pwd
age

Process finished with exit code 0

3.字符串(默认取单个字符)

# 字符串:依次取出每一个字符
for i in 'hello world':
    print(i)


D:Python36python36.exe "E:/pythonProject/Day06/01 yuxi.py"
h
e
l
l
o
 
w
o
r
l
d

Process finished with exit code 0

4.元组(与列表一致,全部取单个数据值)
5.集合(与列表一致,全部取单个数据值)

# 元组
name = (11,22,33,44)
for i in name:
    print(i)
# 集合
s1 = {1,2,3,4}
for i in s1:
    print(i)



D:Python36python36.exe "E:/pythonProject/Day06/01 yuxi.py"
11
22
33
44
1
2
3
4

Process finished with exit code 0
  • for 循环结构之敲重点

1.range方法:可以看成能够快速产生一个包含多个数据值的列表。

代码一:
#如果括号内只有一个数字 那么就是从0开始到数字减一结束(顾头不顾尾 左包含右不包含)

# range方法
for i in range(5):
    print(i)

D:Python36python36.exe "E:/pythonProject/Day06/01 yuxi.py"
0
1
2
3
4

Process finished with exit code 0

代码二:
#括号内有两个数字 第一个是起始位置(包含) 第二个是终止位置(不含)

# range 方法
for i in range(1,10):
    print(i)

D:Python36python36.exe "E:/pythonProject/Day06/01 yuxi.py"
1
2
3
4
5
6
7
8
9

Process finished with exit code 0

代码三:
#括号内有三个数字 最后一个是数据的间隔数(等差数列)

# range方法
for i in range(0,100,20):
    print(i)

D:Python36python36.exe "E:/pythonProject/Day06/01 yuxi.py"
0
20
40
60
80

Process finished with exit code 0

2.for + break:
break结束它本身所在的那层循环

# for + break
# 1-10 ,5结束
for i in range(1,11):
    if i == 5:
        break
    print(i)

D:Python36python36.exe "E:/pythonProject/Day06/01 yuxi.py"
1
2
3
4

Process finished with exit code 0

3.for + continue"
continue也能够结束所在的那一次for循环 直接开始下一次

# for + continue
# 1-10 ,4跳过
for i in range(1,8):
    if i == 4:
        continue
    print(i)

D:Python36python36.exe "E:/pythonProject/Day06/01 yuxi.py"
1
2
3
5
6
7

Process finished with exit code 0

4.for + else"
else配合for一起使用 当for循环没有被强制结束的情况下 循环体结束之后运行else子代码

# for + else
# 没有被强制结束
for i in range(10):
    print(i)
else:
    print('加油')

# 被break强制结束
for i in range(10):
    print(i)
    if i == 5:
        break
else:
    print('加油')



D:Python36python36.exe "E:/pythonProject/Day06/01 yuxi.py"
0
1
2
3
4
5
6
7
8
9
加油
0
1
2
3
4
5

Process finished with exit code 0
  • range方法实操之python爬虫

网络爬虫:爬取想要的数据,python代码模拟网络请求获取数据。

举个栗子:博客园前一百页网址

# 编写代码自动产生博客园前一百的网址
base_url = 'https://www.cnblogs.com/#p%s'
for i in range(1, 101):
    print(base_url % i)
补充知识点之不同解释器range用法:

在python2.7中用法:
1.range()

直接产生一个列表 当数据量很大的时候可能会造成内存溢出
2.xrange()

与python3.6里面range方法一样
在python3.6中用法:
1.range()

作业提交: 作业一:

1.计算1-100所有的数之和

sum = 0
for i in range(1,101):
    sum = sum + i
print(sum)
作业二:

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]

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]
sum = 0
for i in l1:
    if i == 2:
        sum += 1
print(sum)
作业三:

3.编写代码自动生成所有页网址
https://movie.douban.com/top250

base_url = 'https://movie.douban.com/top250?start=%s&filter='
for i in range(0,250,25):
    print(base_url % i)
作业四:

4.编写代码打印出下列图形(ps:for循环嵌套)
*****
*****
*****
*****

for i in range(4):
    for k in range(5):
        print('*',end='')
    print()

拓展:
*
**
***
****

a = 1
for i in range(4):
    for k in range(a):
        print('*',end='')
    a += 1
    print()
    *
   ***
  *****
 *******
num = 5
for low in range(1, num):
    for i in range(num - low):
        print(' ', end='')
    for k in range(2 * low - 1):
        print('*', end='')
    print()
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/991305.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号