16流程控制---for循环

使用for迭代

Python 频繁地使用迭代器。它允许在数据结构长度未知和具体实现未知的情况下遍历整个数据结构,并且支持迭代快速读写中的数据,以及允许不能一次读入计算机内存的数据流的处理。

在计算机科学里,遍历的一种,指的是按照某种规则,不重复地访问某个对象的所有内容的过程。

for.png

for语句

for item in 'hello world !':
    print(item)

for i in range(10)

In [15]: for i in range(10):
    ...:     print(i)
    ...:
0
1
2
...

range

range() 函数可创建一个整数列表,一般用在 for 循环中。

函数语法:

range(start, stop[, step])

参数说明:

  • start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
  • stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
  • step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
In [18]: list(range(10))
Out[18]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

In [21]: tuple(range(10))
Out[21]: (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)

for迭代可迭代对象

for可以迭代所有可迭代对象(字符串、列表、元组、集合、字典)

for num in list(range(1000)):
    print(num)

案例:用 for 迭代获取所有水仙花数

for num in range(1000):
    
    print(num)

案例:用for循环实现九九乘法表

for row in range(1, 10):
    
    for col in range(1, row + 1):
        
        print("%d * %d = %d" % (col, row, row * col), end="\t")
        
    print()

提升(长见识):

用for实现水仙花数

for x in range(0, 10):
    for y in range(0, 10):
        for z in range(1, 10):
            sum = z * 100 + y * 10 + x
            if sum == x ** 3 + y ** 3 + z ** 3:
                print(sum)
# 列表推导式
[(x ** 3 + y ** 3 + z ** 3) for x in range(1, 10) for y in range(0, 10) for z in range(0, 10) if (x*100+y*10+z) == x ** 3 + y ** 3 + z ** 3]
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Python语言特性 1 Python的函数参数传递 看两个如下例子,分析运行结果: 代码一: a = 1 def...
    时光清浅03阅读 504评论 0 0
  • 迭代器,生成器,可迭代对象 原文来自foofish链接如下在了解Python的数据结构时,容器(container...
    喔蕾喔蕾喔蕾蕾蕾阅读 811评论 0 3
  • Python语言特性 1 Python的函数参数传递 看两个如下例子,分析运行结果: 代码一: a = 1 def...
    伊森H阅读 3,083评论 0 15
  • 8月22日-----字符串相关 2-3 个性化消息: 将用户的姓名存到一个变量中,并向该用户显示一条消息。显示的消...
    future_d180阅读 999评论 0 1
  • 在最无助的时候加入007,在最无助的时候写下了这一封给7年后的自己的一封信。 在这个时候最能看清自己...
    玉芹123阅读 289评论 0 0