目录

  • 前言
  • 一、while 循环
  • 二、while - else 循环
  • 三、for 循环
  • 四、for - else 循环
  • 五、range() 函数
  • 六、enumerate() 函数
  • 七、break 语句
  • 八、continue 语句
  • 九、pass 语句
  • 十、推导式

前言

循环语句允许我们执行一个语句或语句组多次,下面是在大多数编程语言中的循环语句的一般形式:


一、while 循环

while 语句最基本的形式包括一个位于顶部的布尔表达式,一个或多个属于 while 代码块的缩进语句。

while 布尔表达式:代码块
while 循环的代码块会一直循环执行,直到布尔表达式的值为布尔假。

如果布尔表达式不带有 <、>、==、!=、in、not in 等运算符,仅仅给出数值之类的条件,也是可以的。当 while 后写入一个非零整数时,视为真值,执行循环体;否则视为假值。不执行循环体。

实例 1-1:

count = 0
while count < 3:temp = input("猜一猜小姐姐想的是哪个数字?")guess = int(temp)if guess > 8:print("大了,大了")else:if guess == 8:print("你太了解小姐姐的心思了!")print("哼,猜对也没有奖励!")count = 3else:print("小了,小了")count = count + 1
print("游戏结束,不玩儿啦!")

运行结果:

实例 1-2:布尔表达式返回0,循环终止。

string = 'abcd'
while string:print(string)string = string[1:]# abcd
# bcd
# cd
# d

运行结果:

二、while - else 循环

语法:

while 布尔表达式:代码块
else:代码块

当 while 循环正常执行完的情况下,执行 else 输出,如果 while 循环中执行了跳出循环的语句,比如 break,将不执行 else 代码块的内容。

实例 2-1:

count = 0
while count < 5:print("%d is  less than 5" % count)count = count + 1
else:print("%d is not less than 5" % count)# 0 is  less than 5
# 1 is  less than 5
# 2 is  less than 5
# 3 is  less than 5
# 4 is  less than 5
# 5 is not less than 5

运行结果:

实例 2-2:

count = 0
while count < 5:print("%d is  less than 5" % count)count = 6break
else:print("%d is not less than 5" % count)# 0 is  less than 5

运行结果:


三、for 循环

for 循环是迭代循环,在python中相当与一个通用的序列迭代器,可以遍历任何有序序列,如 str、list、tuple 等,也可以遍历任何可迭代对象,如 dict 。

for 迭代变量 in 可迭代对象:代码块
每次循环,迭代变量被设置为可迭代对象的当前元素,提供给代码块使用。

实例 3-1:

for i in 'ILoveLSGO':print(i, end=' ')  # 不换行输出# I L o v e L S G O

运行结果:

实例 3-2:

member = ['张三', '李四', '刘德华', '刘六', '周润发']
for each in member:print(each)# 张三
# 李四
# 刘德华
# 刘六
# 周润发
print('-------------------------------')
for i in range(len(member)):print(member[i])# 张三
# 李四
# 刘德华
# 刘六
# 周润发

运行结果:

实例 3-3:

dic = {'a': 1, 'b': 2, 'c': 3, 'd': 4}for key, value in dic.items():print(key, value, sep=':', end=' ')# a:1 b:2 c:3 d:4

运行结果:

实例 3-4:

dic = {'a': 1, 'b': 2, 'c': 3, 'd': 4}for key in dic.keys():print(key, end=' ')# a b c d

运行结果:

实例 3-5:

dic = {'a': 1, 'b': 2, 'c': 3, 'd': 4}for value in dic.values():print(value, end=' ')# 1 2 3 4

运行结果:

四、for - else 循环

语法:

for 迭代变量 in 可迭代对象:代码块
else:代码块

当 for 循环正常执行完的情况下,执行 else 输出,如果 for 循环中执行了跳出循环的语句,比如 break ,将不执行 else 代码块的内容,与 while - else 语句一样。

实例 4-1:

for num in range(10, 20):  # 迭代 10 到 20 之间的数字for i in range(2, num):  # 根据因子迭代if num % i == 0:  # 确定第一个因子j = num / i  # 计算第二个因子print('%d 等于 %d * %d' % (num, i, j))break  # 跳出当前循环else:  # 循环的 else 部分print(num, '是一个质数')# 10 等于 2 * 5
# 11 是一个质数
# 12 等于 2 * 6
# 13 是一个质数
# 14 等于 2 * 7
# 15 等于 3 * 5
# 16 等于 2 * 8
# 17 是一个质数
# 18 等于 2 * 9
# 19 是一个质数

运行结果:

五、range() 函数

语法:

range([start,] stop[, step=1])
  • 这个BIF(Built-in functions)有三个参数,其中用括号括起来的两个表示这两个参数是可选的。
  • step = 1 表示第三个参数的默认值是1。
  • range 这个 BIF 的作用是生成一个从 start 参数的值开始到 stop 参数的值结束的数字序列,该序列包含 start 的值但不包含 stop 的值。

实例 5-1:

for i in range(2, 9):  # 不包含9print(i)# 2
# 3
# 4
# 5
# 6
# 7
# 8

运行结果:

实例 5-2:

for i in range(1, 10, 2):print(i)# 1
# 3
# 5
# 7
# 9

运行结果:

六、enumerate() 函数

语法:

enumerate(sequence, [start=0])
  • sequence:一个序列、迭代器或其他支持迭代对象。
  • start:下标起始位置。
  • 返回 enumerate(枚举)对象

实例 6-1:

seasons = ['Spring', 'Summer', 'Fall', 'Winter']
lst = list(enumerate(seasons))
print(lst)
# [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
lst = list(enumerate(seasons, start=1))  # 下标从 1 开始
print(lst)
# [(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]

运行结果:

enumerate() 与 for 循环的结合使用。

for i,a in enumerate(A)do something with a
用 enumerate(A) 不仅返回了 A 中的元素,还顺便给该元素一个索引值(默认从0开始)。此外,用enumerate(A, j) 还可以确定索引起始值为 j。

实例 6-2:

languages = ['Python', 'R', 'Matlab', 'C++']
for language in languages:print('I love', language)
print('Done!')
# I love Python
# I love R
# I love Matlab
# I love C++
# Done!for i, language in enumerate(languages, 2):print(i, 'I love', language)
print('Done!')
# 2 I love Python
# 3 I love R
# 4 I love Matlab
# 5 I love C++
# Done!

运行结果:

七、break 语句

break 语句可以跳出当前所在层的循环。

实例 7-1:

import random
secret = random.randint(1, 10) #[1,10]之间的随机数while True:temp = input("猜一猜小姐姐想的是哪个数字?")guess = int(temp)if guess > secret:print("大了,大了")else:if guess == secret:print("你太了解小姐姐的心思了!")print("哼,猜对也没有奖励!")breakelse:print("小了,小了")
print("游戏结束,不玩儿啦!")

运行结果:

八、continue 语句

continue 终止本轮循环并开始下一轮循环。

实例 8-1:

for i in range(10):if i % 2 != 0:print(i)continuei += 2print(i)# 2
# 1
# 4
# 3
# 6
# 5
# 8
# 7
# 10
# 9

运行结果:

九、pass 语句

pass 语句的意思是“不做任何事”,如果你在需要有语句的地方不写任何语句,那么解释器会提示出错,而 pass 语句就是用来解决这些问题的。

实例 9-1:

 def a_func():# SyntaxError: unexpected EOF while parsing

实例 9-2:

def a_func():pass

pass 是空语句,不做任何操作,只起到占位的作用,其作用是为了保持程序结构的完整性。尽管 pass 语句不做任何操作,但如果暂时不确定一个位置放上什么样的代码,可以先放置一个 pass 语句,让代码可以正常运行。

十、推导式

列表推导式:

[ expr for value in collection [if condition] ]

实例 10-1:

x = [-4, -2, 0, 2, 4]
y = [a * 2 for a in x]
print(y)
#[-8, -4, 0, 4, 8]

运行结果:

实例 10-2:

x = [i ** 2 for i in range(1, 10)]
print(x)
# [1, 4, 9, 16, 25, 36, 49, 64, 81]

运行结果:

实例 10-3:

x = [(i, i ** 2) for i in range(6)]
print(x)# [(0, 0), (1, 1), (2, 4), (3, 9), (4, 16), (5, 25)]

运行结果:

实例 10-4:

x = [i for i in range(100) if (i % 2) != 0 and (i % 3) == 0]
print(x)# [3, 9, 15, 21, 27, 33, 39, 45, 51, 57, 63, 69, 75, 81, 87, 93, 99]

运行结果:

实例 10-5:

a = [(i, j) for i in range(0, 3) for j in range(0, 3)]
print(a)# [(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]

运行结果:

实例 10-6:

x = [[i, j] for i in range(0, 3) for j in range(0, 3)]
print(x)
# [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]x[0][0] = 10
print(x)
# [[10, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]

运行结果:

实例 10-7:

a = [(i, j) for i in range(0, 3) if i < 1 for j in range(0, 3) if j > 1]
print(a)# [(0, 2)]

运行结果:

元组推导式:

(expr for value in collection [if condition])

实例 10-8:

a = (x for x in range(10))
print(a)# <generator object <genexpr> at 0x0000025BE511CC48>print(tuple(a))# (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)

运行结果:

字典推导式:

{key_expr: value_expr for value in collection [if condition]}

实例 10-9:

b = {i: i % 2 == 0 for i in range(10) if i % 3 == 0}
print(b)
# {0: True, 3: False, 6: True, 9: False}

运行结果:

集合推导式:

{ expr for value in collection [if condition] }

实例 10-10:

c = {i for i in [1, 2, 3, 4, 5, 5, 6, 4, 3, 2, 1]}
print(c)
# {1, 2, 3, 4, 5, 6}

运行结果:

其它:

  • next(iterator[, default]) Return the next item from the iterator. If default is given and the iterator is exhausted, it is returned instead of raising Stoplteration.

实例 10-11:

e = (i for i in range(10))
print(e)
# <generator object <genexpr> at 0x0000007A0B8D01B0>print(next(e))  # 0
print(next(e))  # 1for each in e:print(each, end=' ')# 2 3 4 5 6 7 8 9

运行结果:

实例 10-12:

s = sum([i for i in range(101)])
print(s)  # 5050
s = sum((i for i in range(101)))
print(s)  # 5050

运行结果:

Python入门:循环语句相关推荐

  1. python和循环语句_Python 小白零基础入门 -- 条件语句和循环语句

    Python 小白零基础入门 -- 条件语句和循环语句 点击上方 "Python 读数", 选择 "星标" 公众号 重磅干货, 第一时间送达 Python 零基 ...

  2. python while循环语句-Python While 循环语句

    Python While 循环语句 Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务.其基本形式为: while 判断条件(cond ...

  3. python while循环语句-python while循环控制流语句结构与用法

    python while循环语句和for语句都是python的主要循环结构.while语句是python中最通用的迭代结构,也是一个条件循环语句.while与if语句有哪些不同,标准语法结构及循环使用 ...

  4. python的for循环语句_干货丨Python的循环语句基础讲解!

    我们知道计算机程序语言一般是按照顺序执行的,那么编程语言就提供了各种控制结构,允许更复杂的执行路径,其中循环语句的作用就是允许我们执行一个语句或语句组多次. 在Python中循环语句的类型主要有以下几 ...

  5. python for循环语句的用法

    for x in 字符串 for x in 列表 for x in range(数字) for x in range(数字, 数字) for( i=1; i <= x; i++ ) 参考文章:P ...

  6. python教程循环语句_Python教程:关于Python 循环语句

    Python 循环语句 本章节将向大家介绍Python的循环语句,程序在一般情况下是按顺序执行的. 编程语言提供了各种控制结构,允许更复杂的执行路径. 循环语句允许我们执行一个语句或语句组多次,下面是 ...

  7. python的if循环语句_第二个是Python的循环语句,基础,使用,if,条件,判断,while,for

    条件判断语句 Python里的条件判断语句有if.if--else和if--elif--elif--else if条件判断语法格式 if 条件判断: 条件成立,执行此处代码 例:输入年龄,判断是否成年 ...

  8. python 公开课_【python公开课|学好python前,必须掌握这篇Python for 循环语句,还不会就快来看看】- 环球网校...

    [摘要]在这个科学技术高速发展的时代,越来越多的人都开始选择学习编程软件,那么首先被大家选择的编程软件就是python,也用在各行各业之中,并被大家所熟知,所以也有越来越多的python学习者关注py ...

  9. Python While 循环语句

    Python While循环语句 Python 编程中while语句用于循环执行程序,即在一些条件下,循环执行一些段程序,以处理需要重复处理的相同任务. 执行语句可以是单个语句或语句块. 判断条件可以 ...

  10. python的循环语句有哪些_python的循环语句

    python的循环语句有两种:for 和 while,for循环是对可迭代对象进行迭代并处理,因此for的对象是一个可以迭代的对象,而while循环的条件则是一个布尔值可以是一个返回布尔值的表达式. ...

最新文章

  1. Permission denied 故障
  2. python期末考试题及答案翻译-[译]Python面试中8个必考问题
  3. iis启动默认页无法访问错误类型500的解决
  4. 海信电视root工具_海信璀璨系列家电:一次购买便能享受全方位智能家居生活...
  5. 《CCNP SWITCH 300-115认证考试指南》——第1章 企业园区网络的设计
  6. 对于Neural ODE的小研究
  7. IE浏览器中a:hover设置background失效的解决方法
  8. AMOS问卷数据建模前传【SPSS 052期】
  9. Visual Basic 2010中文版从入门到精通pdf
  10. Web打印控件Lodop实现表格物流单的打印
  11. python爬豆瓣top250书籍_python爬虫练习-爬取豆瓣图书top250
  12. html多页面之间如何通信,html5中sharedWorker实现多页面通信代码示例
  13. BOM_创建更新物料清单脚本
  14. 【FPGA】五、蜂鸣器播放音乐
  15. 题目 1566: 贪吃的大嘴
  16. Vue面包屑导航实现方案
  17. Python tkinter库
  18. win10 计算机组件,win10系统删除那些不必要组件的操作步骤
  19. 用js实现复制内容到操作系统粘贴板(兼容IE、谷歌、火狐等浏览器)
  20. win7计算机没有光驱图标不见了,win7系统电脑光驱图标不见了怎么办?

热门文章

  1. HTML5 上传文件按钮代码
  2. IT产品经理工作职责
  3. 基于Qt的音乐播放器(一)添加音频文件,播放音乐,更新进度条
  4. 中国航天科工集团航天龙梦2019校园招聘(软、硬件工程师)
  5. 高级售后客户服务专员考试
  6. oracle可以导出的格式,Oracle导入导出数据的几种方式
  7. 【麦肯锡系列阅读笔记】麦肯锡解决方法与技巧
  8. 2021-06-30剑指offer28.对称的二叉树
  9. ATmega16开发板仿真教程——前言
  10. 工业相机 linux驱动软件,机器视觉软件及工业相机软件下载 - pylon, ToF 等 | Basler...