今日内容循环结构之for

循环结构之for

while能够做到的事for都能够做到。

同样for循环能够做到的事while也能做到

但for循环的方式更加的便捷,语法结构简单,尤其是循环取值。

for循环的语法结构

for 变量名 in 可迭代对象: # 字符串、列表、字典、元组...

​ for循环体的子代码。

针对变量名的命名 如果带取值的数据有明确的指向 最好做到见名知意
列如: for name in 学习姓名名单、for addr in 地址信息
如果没有明确的指向 可以使用常见的一些字母。

for循环基本使用

  1. 字符串取值操作。
# 示例:
str1 = 'name'
for i in str1:  # for循环将in后面的字符串单个字符循环依次取出绑定给前面的变量名i
    print(i)  # 将for循环取出i的数据值打印出来
""" 
循环的次数是由in后面的可迭代对象来决定的,
如字符串是根据字符串的单个字符总数来决定次数。
输出结果如下
n
a
m
e
"""
  1. 列表取值操作
# 示例:
list1 = ['name', 'age', 123, 18]  
for i in list1:  # for循环将in后面的列表单个数据值依次循环取出绑定给前面的变量名i
    print(i)  # 将for循环取出i的数据值打印出来
"""
循环的次数是由in后面的可迭代对象来决定的,
如列表是根据列表中的单个数据值的数量来决定循环次数。
输出结果如下
ame
age
123
18
"""
  1. 字典取值操作
# 示例:
ict1 = {'name': 'reptile', 'age': 25, 'hobby': 'sleep'}
for i in dict1:  # 取出来的字典k和它对应的数据值绑定给i.
    print(i)  # 循环取出的数据值,打印显示默认是k,v不会显示
"""
for循环字典取值默认的取得是字典的k,
name
age
hobby
"""
dict1 = {'name': 'reptile', 'age': 25, 'hobby': 'sleep'}
for i in dict1:  # 取出来的字典k和它对应的数据值绑定给i.
    print(dict1[i])  # i的k对应的数据值打印出来
"""
输出结果
reptile
25
sleep
"""
  1. 元组取值操作
# 示例:
uple1 = ('name', 'reptile', 'age')
for i in tuple1:  # for循环元组数据与列表一致 默认都是单个数据值
    print(i)
"""
输出结果
name
reptile
age
"""

for+range

range可以看成是一个能够帮助我们快速产生一个包含多个数据值的列表

# 示例1:
for i in range(5)
	print(i)  # 0 1 2 3 4
 # 如果括号内只有一个数字 那么就是从0开始到数字减一结束(顾头不顾尾 左包含右不包含)
# 示例2:
for i in range(3,10)
	print(i)  # 3 4 5 6 7 8 9 
# 括号内有两个数字 第一个是起始位置(包含) 第二个是终止位置(不含)
# 示例3:
for i in range(0,100,25)
	print(i)  # 0 25 50 75
# 括号内有三个数字 最后一个是数据的间隔数(等差数列)
""""
在python2中有两个
	range()
		直接产生一个列表 当数据量很大的时候可能会造成内存溢出(爆满)
	xrange()
		其实就是python3里面的range方法
		
在python3中只有一个
	range()
		类似于是一个工厂 什么时候要什么时候创建给你 节省内存
"""

for+break

# 示例 1-10  7结束
# break也能够结束所在的那一层for循环# 1-10  7结束。
for i in range(1,11):
    if i == 7:
        break
    print(i)  # 1 2 3 4 5 6

for+continue

# 示例 1-10  7跳过
# continue也能够结束所在的那一次for循环 直接开始下一次
for i in range(1, 11):
    if i == 7:
        continue
    print(i) # 1 2 3 4 5 6 8 9 10

for+else

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

作业

  1. 计算1-100所有的数之和
sum1 = 0
# 从range里1-100的数值依次循环取出来放到i里面
for i in range(1, 101):
    sum1 += i  # 每次for循环取出的数值都与sum1相加在重新赋值给sum1
print(sum1)  # 5050
  1. 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]
sum2 = 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:
        sum2 += 1
print(sum2)  # 13
  1. 编写代码自动生成所有网页网址

    https://movie.douban.com/top250

for i in range(0, 250, 25):
    print("https://movie.douban.com/top250?start=%s&filter=" % i)
  1. 编写代码打印出下列图形(ps:for循环嵌套)



for a in range(4):
    print()
    for c in range(5):
        print('*', end='')

posted @   瓮小辉  阅读(107)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示