循环结构


循环结构之for循环

1.for循环

1.1 概念

  • for循环用于迭代序列(即列表,元组,字典,集合或字符串)。
  • 通过使用for循环,我们可以为列表、元组、集合中的每个项目等执行一组语句。
  • for循环通常比while循环更容易编码并且运行效率更高,当需要遍历一个序列时,首先要考虑for循环。
  • 当对象有特定的长度时,可以使用 for 循环,没有时使用 while 循环。

for循环和while循环的区别

  • 相同点:都能循环做一件重复的事情
  • 不同点:for循环是在序列穷尽时停止,while循环是在条件不成立时停止。

1.2.语法结构

  • for 变量名 in 可迭代对象: # 字符串 列表 字典 元组
  • for循环的循环体代码
  • 针对变量名的命名 如果带取值的数据有明确的指向 最好见名知意
    • for name in 学习姓名名单
    • for addr in 地址信息
  • 如果没有明确的指向 可以使用常见的字母
    • i j k item v …

1.3.常见取值操作

l1 = ['jason', 'kevin', 'tony', 'oscar']
# 循环打印出列表中每一个数据值
# 列表取值:索引
# while循环打印
# num = 0
# while num < 4:
#     print(l1[num])  # 每次循环的时候索引应该自增1
#     num += 1
# for循环
for i in l1:
    print(i)


# for循环字典默认只能取到字典的key
user_dict = {
	'username': 'jason',
	'pwd': 123
	'age': 18
}
for i in user_dict:
	print(i)

# for循环字符串默认每次取单个字符
desc = 'hello'
for i in desc:
	print(i)


# for循环元组数据与列表一致,默认都是单数据值
t = (11, 22, 33, 44)
for i in t:
	print(i)

s1 = {1, ,2 ,3, 4, 5}
for i in s1:
	print(i)

2.range方法

2.1.range方法

  • range可以看成是一个能够帮助我们快速产生一个包含多个数据值的列表
for i in range(5):  # 如果括号内只有一个数字 那么就是从0开始到数字减一结束(顾头不顾尾 左包含右不包含)
    print(i)

for i in range(3, 10):  # 括号内有两个数字 第一个是起始位置(包含) 第二个是终止位置(不含)
    print(i)

for i in range(0, 100, 25):  # 括号内有三个数字 最后一个是数据的间隔数(等差数列)
    print(i)

注意:

在python2中有两个
	range()
		直接产生一个列表 当数据量很大的时候可能会造成内存溢出(爆满)
	xrange()
		其实就是python3里面的range方法
在python3中只有一个
	range()
		类似于是一个工厂 什么时候要什么时候创建给你 节省内存

2.2.range方法实操

网络爬虫:python代码模拟网络请求获取数据
很多网址的数据都不止一页 所以有时候需要通过代码模拟(方式1)

博客园多页规律
	 https://www.cnblogs.com/  第一页
    https://www.cnblogs.com/#p2  第二页
    https://www.cnblogs.com/#p3  第三页
    https://www.cnblogs.com/#p4  第四页
     ...
    大胆猜则第一页还可以这么写
    https://www.cnblogs.com/#p1

# 编写代码自动产生博客园前一百的网址
"""
https://www.cnblogs.com/#p2  第二页
https://www.cnblogs.com/#p3  第三页
https://www.cnblogs.com/#p4  第四页
...
大胆猜则第一页还可以这么写
https://www.cnblogs.com/#p1
"""
# 提前定义好一个模板
base_url = 'https://www.cnblogs.com/#p%s'
for i in range(1, 101):
    print(base_url % i)

3.for…break语句

  • 通过使用 break 语句,我们可以在循环遍历所有项目之前停止循环
  • break也能够结束所在的那一层for循环
# 1-10  7结束
for i in range(1,11):
    if i == 7:
        break
    print(i)

4.for…continue语句

  • 通过使用 continue 语句,我们可以停止循环的当前迭代,并继续下一个
  • continue也能够结束所在的那一次for循环 直接开始下一次
# 1-10  7跳过
for i in range(1, 11):
    if i == 7:
        continue
    print(i)

5.for…else语句

  • for 循环中的 else 关键字指定循环结束时要执行的代码块
  • else配合for一起使用 当for循环没有被强制结束的情况下 循环体结束之后运行else子代码
for i in range(10):
    print(i)
    if i == 5:
        break
else:
    print('嘿嘿嘿 猜猜我什么时候执行') 

作业

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

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]
image

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

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

原创文章,作者:bd101bd101,如若转载,请注明出处:https://blog.ytso.com/270114.html

(0)
上一篇 2022年6月24日
下一篇 2022年6月24日

相关推荐

发表回复

登录后才能评论