1. while循环

1) 循环

i = 0

print(i)

i = i + 1

print(i)

i = i + 1

print(i)

i = i + 1

# 逐行输出:0 1 2

2) while循环

当满足条件时,就一直重复执行某段代码。如上例可用while循环改写为:

i = 0

while i < 3:

print(i)

i = i + 1while循环的组成:

while 循环条件:

循环体

在满足循环条件的情况下,计算机会自上而下重复执行循环体内的代码,直到不满足循环条件时结束循环。

Note: i = i + 1可以简写为i += 1,即A += B等价于A = A + B。

3) 死循环

一个靠自身控制无法终止的程序称为死循环。如果没有控制好循环条件,很可能会引发死循环。

while True:

print('Hello World')

# 由于循环条件一直是True,所以会永无止境地打印Hello World

i = 0

while i < 3:

print(i)

# 由于漏掉了i = i + 1,导致i的值一直为0,进入死循环

Note: 死循环会导致后续代码无法执行,甚至导致CPU占用过高电脑死机,因此要控制好循环条件。

2. for循环

1) for循环

格式:

for 变量 in 序列:

循环体

Note: for循环没有循环条件,而是通过for…in…的语法进行循环,循环的次数就是in后面序列的元素个数。

for i in [0, 1, 2]:

print(i + 1)

# 逐行输出:1 2 3

for循环的特性:依次遍历序列中的元素,并依次赋值给变量,最后执行统一的处理。

2) 序列

指与列表有相似特性的类型,列表、元组、字符串都属于序列。他们都存着一组数据,可以通过索引访问里面的元素,可以使用for循环遍历。

range()函数生成序列,可与for循环一起使用:

for i in range(3):

print(i)

# 逐行输出:0 1 2

上面的代码等同于:

for i in range[0, 1, 2]:

print(i)

# 逐行输出:0 1 2

range()函数可以很方便地写出循环n次的代码,比如实现"I love you three thousand":

for i in range(3000):

print('I love you')

又如,按数字排序命名100个Excel文件:

for i in range(100):

filename = '材料' + str(i + 1) + '.xlsx'

print('正在处理' + filename)

3) 循环体

循环的核心代码,即被重复执行的部分。

for i in range(10):

print(i * 2)

# 将0-9每个数乘以2打印

for i in range(10):

if i > 5:

print(i)

# 将0-9中大于5的数打印

也可在循环中嵌套循环,如打印九九乘法表:

for i in range(1, 10):

for j in range(1, i + 1):

print(str(j) + 'x' + str(i) + '=' + str(i * j) + '\t', end = '')

# \t是制表符,用来对齐。end默认是\n,打印后会换行,end = ''可以防止换行

print('')

# 打印完一行后换行

4) 列表生成式

生成一个[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]的列表:

y = []

for x in range(1, 11):

y.append(x * x)

以上代码用列表生成式可简化为:

y = [x * x for x in range(1, 11)]

也可在for…in…后加上条件判断以筛选出奇数的平方:

y = [x * x for x in range(1, 11) if x % 2 == 1]

print(y)

# 输出:[1, 9, 25, 49, 81]

综上,列表生成式的语法规则是:

[表达式 for循环 条件判断(可选)]

Eg: 筛选低于60的分数:

scores = [91, 4, 20, 67, 24, 13, 84, 40, 77, 47]

result = [x for x in scores if x < 60]

print(result)

5) break语句

break语句用于结束循环,常与条件判断一起使用,在特定条件下结束循环,后续循环代码不再执行。

break语句的用法:

while 循环条件:

……

if 循环结束条件:

break # 满足条件触发break语句

…… # 结束循环,执行循环后代码

for 变量 in 循环序列:

……

if 循环结束条件:

break # 满足条件触发break语句

…… # 结束循环,执行循环后代码

实例如:

# while循环

i = 0

while i < 5:

i = i + 1

if i == 3:

break

print(i)

print('循环结束')

# 逐行输出:1 2 循环结束

# for循环

for i in range(5):

i = i + 1

if i == 3:

break

print(i)

print('循环结束')

# 逐行输出:1 2 循环结束

Note: break语句可以在特定条件下跳出死循环,相当于将循环条件放到了循环体中,用if和break语句来判断并终止循环。

6) continue语句

continue语句用于在特定情况下跳过当前循环体中的剩余语句,继续进行下一轮循环,常和条件判断一起使用。

while 循环条件:

……

if 循环结束条件:

continue # 跳到循环开头,进行下一轮循环

for 变量 in 循环序列:

……

if 循环结束条件:

continue # 跳到循环开头,进行下一轮循环

实例如:

# while循环

i = 0

while i < 5:

i = i + 1

if i == 3:

continue

print(i)

print('循环结束')

# 逐行输出:1 2 4 5 循环结束

# for循环

for i in range(5):

i = i + 1

if i == 3:

continue

print(i)

print('循环结束')

# 逐行输出:1 2 4 5 循环结束

Note: break语句用于结束循环,continue语句用于跳过当前循环,所以continue语句不能跳出死循环。

Note: break语句和continue语句都需缩进。

3. 总结拓展

1) while循环和for循环辨析相同点:将一件事重复n遍;

不同点:while循环更适合循环次数不确定的情况,for循环更适合循环次数确定的情况。

2) break和continue语句辨析break:跳出整个循环;

continue:跳出当前循环。

3) zip()函数

zip()函数和for循环结合可以同时遍历多个列表。

names = ['吴承恩', '罗贯中', '施耐庵', '曹雪芹']

books = ['西游记', '三国演义', '水浒传', '红楼梦']

for name, book in zip(names, books):

print(book + '的作者是' + name)

# 输出:

# 西游记的作者是吴承恩

# 三国演义的作者是罗贯中

# 水浒传的作者是施耐庵

# 红楼梦的作者是曹雪芹

zip()函数生成的列表中的元素是一个个元组,上例中name, book这样用逗号分隔开的写法可以获取元组中对应的元素。

Note: 当用zip()函数同时遍历多个列表时,如果两个列表长度不一样,遍历次数以长度短的列表长度为准。

4) enumerate()函数

作用:同时给出序列的元素下标和元素。

names = ['吴承恩', '罗贯中', '施耐庵', '曹雪芹']

for index, item in enumerate(names):

print(index, item)

# 输出:

# 0 吴承恩

# 1 罗贯中

# 2 施耐庵

# 3 曹雪芹

上述代码中,index是列表中元素的索引,item是列表中对应的元素。

Note: enumerate()函数返回值是enumerate类型,也需要用list()函数转换。

names = ['吴承恩', '罗贯中', '施耐庵', '曹雪芹']

print(list(enumerate(names)))

# 输出:[(0, '吴承恩'), (1, '罗贯中'), (2, '施耐庵'), (3, '曹雪芹')]

enumerate()函数生成的新列表中的元素也是元组,元组中第一个元素是索引,第二个元素是原来列表中对应索引的元素。

Reference:

[1] Wes McKinney. 2017. Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython, 2nd Edition [M]. O'Reilly Media, Inc.

[2] CSDN博客. Python博客[OL]. https://www.csdn.net/nav/python. 2020.

python循环5次_Python入门五:循环相关推荐

  1. python 运行电脑卡死_Python入门 5——循环语句及条件判断

    一.什么是语句 最基本的语句:赋值语句.运行函数/方法 条件语句:if 循环语句:for/while循环,遍历序列/字典 函数语句:def函数等 模块语句:import 二.条件判断:if语句 1.基 ...

  2. python for循环n次_Python入门10 —— for循环

    1.字符串依次取值 students = ['egon', 'lxx', 'alex'] i = 0 while i < 3: print(students[i]) i += 1 2.针对循环取 ...

  3. python循环语句画图_Python基础之循环语句用法示例【for、while循环】

    本文实例讲述了Python基础之循环语句用法.分享给大家供大家参考,具体如下: while 循环 Python中while语句的一般形式: while 判断条件: statements 同样需要注意冒 ...

  4. python中for循环和while循环的区别_Python中for循环和while循环有什么区别?

    for循环和while循环有什么区别?众做周知,循环是Python中最基础也是最常见的知识点之一,下面我们来一起好好学习一下for循环和while循环,并对比分析两者的使用区别,帮助Python初学者 ...

  5. python中for循环语句格式_Python基础-10循环语句

    Python Python开发 Python语言 Python基础-10循环语句 10.循环语句 对于循环语句,Python仅提供了while和for两个,并未像其他编程语言一样提供for...eac ...

  6. pythonwhile循环实战教程_Python入门丨for循环和while循环

    for...in...循环语句 for循环可以遍历任何序列的项目,如一个列表或者一个字符串 实例 for i in 'one': print(i) 输出结果 o n e for循环:空房子 空房子的学 ...

  7. python 循环控制语句结束_Python控制语句.while循环语句

    Python控制语句三 2.while循环语句 例如:求1+2+3+--+9+10的累加和 用while语句则程序如下: s=0 x=1 while x<=10: s=s+x x=x+1 pri ...

  8. python中for循环和while循环的区别_Python中for循环语句和while循环语句有何不同

    原标题:Python中for循环语句和while循环语句有何不同 前面两期文章已经为大家分别讲解,for循环语句和while循环语句,两种都是化繁琐为简单的Python循环语句,选择困难症已经不知道该 ...

  9. python循环定义变量_Python变量和循环

    1.Python变量 比C语言,Java语言更加简洁,不需要加int等等类型定义,直接变量名 = 值,Python里甚至不需要分号.有些特定的不能当做变量名,变量只能由字母.数字和下划线组成,下划线可 ...

  10. python循环怎么结束_python如何结束循环

    python中的break语句和continue语句 break break是终止本次循环,比如你很多个while循环,你在其中一个while循环里写了一个break,满足条件,只会终止这个while ...

最新文章

  1. 解决mysql插入中文出现错误Incorrect string value: ‘\xE7\xA8\x8B\xE5\xBA\x8F...‘ for column ‘course‘ at row 1
  2. 文本超出多行显示省略号 移动端禁止双击缩放
  3. numpy基础(part8)--符号数组与矢量化
  4. 设计模式的分类和六大设计原则
  5. 多位博士毕业去了三四流高校,现在怎么样了?
  6. 对爬虫数据分析的同学不要错过啦 数据分析数据可视化: Matplotlib
  7. spring boot项目自定义数据源,mybatisplus分页、逻辑删除无效解决方法
  8. Android学习第六天---seekbar
  9. zabbix监控系列(2)之zabbix-agent安装
  10. 别再 select * 了,送你 12 个查询技巧!
  11. requestFullscreen()事件全屏不好使怎么解决
  12. GPM、FY-4A数据下载
  13. 怎样快速学习一门新技术
  14. open gapps各版本详细介绍
  15. 心若无尘,一花一世界,一鸟一天堂
  16. ESX4.1虚拟机识别U盘
  17. 最通俗的理解什么是冒泡
  18. html 实现在线选房,线上开盘选房技巧有哪些
  19. 山东省2022 年专升本 计算机大纲(信息安全)
  20. Vue3项目技巧(更新中ing)

热门文章

  1. STM32--DSP库使用(1)
  2. 题解 P2342 【叠积木】
  3. 笨办法学python习题39-40
  4. 2020-2022年最全各省、市矢量和栅格数据(土地利用、植被覆盖、土壤类型、人口密度、NPP、气象水文数据、路网、省市县乡镇区划边界、poi数据、河流水系、建筑轮廓)
  5. 计算RPS指标 Python实现
  6. 怎么查看电脑是不是禁ping_电脑ping怎么打开怎么检测网络连接是否正常 ping网络教程...
  7. windows10安装虚拟机virtualbox详细步骤
  8. java byte(字节)根据长度转成kb(千字节)和mb(兆字节)
  9. java socket ipv6_Java支持IPv6研究
  10. STM32L476RG利用串口下载程序