Python 基础之循环

循环

要计算1+2+3,我们可以直接写表达式:

>>> 1 + 2 + 3

6

要计算1+2+3+...+10,勉强也能写出来。

但是,要计算1+2+3+...+10000,直接写表达式就不可能了。

为了让计算机能计算成千上万次的重复运算,我们就需要循环语句。

Python的循环有两种,一种是for...in循环,依次把list或tuple中的每个元素迭代出来,看例子:

names = [‘Michael‘, ‘Bob‘, ‘Tracy‘]

for name in names:

print(name)

执行这段代码,会依次打印names的每一个元素:

Michael

Bob

Tracy

所以for x in ...循环就是把每个元素代入变量x,然后执行缩进块的语句。

再比如我们想计算1-10的整数之和,可以用一个sum变量做累加:

sum = 0

for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:

sum = sum + x

print(sum)

如果要计算1-100的整数之和,从1写到100有点困难,幸好Python提供一个range()函数,可以生成一个整数序列,再通过list()函数可以转换为list。比如range(5)生成的序列是从0开始小于5的整数:

>>> list(range(5))

[0, 1, 2, 3, 4]

range(101)就可以生成0-100的整数序列,计算如下:

sum = 0

for x in range(101):

sum = sum + x

print(sum)

请自行运行上述代码,看看结果是不是当年高斯同学心算出的5050。

第二种循环是while循环,只要条件满足,就不断循环,条件不满足时退出循环。比如我们要计算100以内所有奇数之和,可以用while循环实现:

sum = 0

n = 99

while n > 0:

sum = sum + n

n = n - 2

print(sum)

在循环内部变量n不断自减,直到变为-1时,不再满足while条件,循环退出。

练习

请利用循环依次对list中的每个名字打印出Hello, xxx!:

# -*- coding: utf-8 -*-

L = [‘Bart‘, ‘Lisa‘, ‘Adam‘]

Run

break

在循环中,break语句可以提前退出循环。例如,本来要循环打印1~100的数字:

n = 1

while n

<= 100:

print(n)

n = n + 1

print(‘END‘)

上面的代码可以打印出1~100。

如果要提前结束循环,可以用break语句:

n = 1

while n <= 100:

if n > 10: # 当n = 11时,条件满足,执行break语句

break # break语句会结束当前循环

print(n)

n = n + 1

print(‘END‘)

执行上面的代码可以看到,打印出1~10后,紧接着打印END,程序结束。

可见break的作用是提前结束循环。

continue

在循环过程中,也可以通过continue语句,跳过当前的这次循环,直接开始下一次循环。

n = 0

while n

< 10:

n = n + 1

print(n)

上面的程序可以打印出1~10。但是,如果我们想只打印奇数,可以用continue语句跳过某些循环:

n = 0

while n < 10:

n = n + 1

if n % 2 == 0: # 如果n是偶数,执行continue语句

continue # continue语句会直接继续下一轮循环,后续的print()语句不会执行

print(n)

执行上面的代码可以看到,打印的不再是1~10,而是1,3,5,7,9。

可见continue的作用是提前结束本轮循环,并直接开始下一轮循环。

小结

循环是让计算机做重复任务的有效的方法。

break语句可以在循环过程中直接退出循环,而continue语句可以提前结束本轮循环,并直接开始下一轮循环。这两个语句通常都必须配合if语句使用。

要特别注意,不要滥用break和continue语句。break和continue会造成代码执行逻辑分叉过多,容易出错。大多数循环并不需要用到break和continue语句,上面的两个例子,都可以通过改写循环条件或者修改循环逻辑,去掉break和continue语句。

有些时候,如果代码写得有问题,会让程序陷入“死循环”,也就是永远循环下去。这时可以用Ctrl+C退出程序,或者强制结束Python进程。

请试写一个死循环程序。

时间: 2024-08-25 00:08:56

Python 基础之循环的相关文章

Python基础06 循环

Python基础06 循环 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 循环用于重复执行一些程序块.从上一讲的选择结构,我们已经看到了如何用缩进来表示程序块的隶属关系.循环也会用到类似的写法. for循环 for循环需要预先设定好循环的次数(n),然后执行隶属于for的语句n次. 基本构造是 for 元素 in 序列: statement 举例来说,我们编辑一个叫forDemo.py的文件 for a in [3,4.4,

python基础之循环结构以及列表

python基础之编译器选择,循环结构,列表 本节内容 python IDE的选择 字符串的格式化输出 数据类型 循环结构 列表 简单购物车的编写 1.python IDE的选择 IDE的全称叫做集成开发环境(IDE,Integrated Development Environment ) 常用的编程语言IDE开发工具有如下一些: VIM #经典的linux下的文本编辑器 Emacs #linux 文本编辑器, 比vim更容易使用 Eclipse # Java IDE,支持python, c ,

python基础之循环语句

一.if条件语句: 语法: 1.if单分支(单重条件判断) if expression: expr_true_suite 注释:expession为真执行代码expr_true_suite if单分支(单重条件判断) if not  active or over_time >= 10: print('Warning:service is dead') warn_tag+=1 2.if+else循环语句 if 1<2: print('ok') else: print('no') 3.多分支if+

python基础:循环语句和判断语句

小生博客:http://xsboke.blog.51cto.com 小生 Q Q:1770058260 -------谢谢您的参考,如有疑问,欢迎交流 一. python语句块和缩进 缩进是Python语法的一部分:在python语句中,空格是用来区分块的,每一块的语句,缩进量(空格)应该是相同的 Python语言利用缩进表示语句块的开始和退出(Off-side规则),而非使用花括号或者某种关键字: 增加缩进表示语句块的开始,而减少缩进则表示语句块的退出. 在Python中,冒号(:)用来标识语

重学Python - Day 03 - python基础 -&gt; while循环实例 + Continue &amp;&amp; break的应用 + 列表的初步学习

while语句的应用 实例如下: 1 """ 2 述求:用户登录系统,最多只能登录三次 3 第三次失败后,程序终止 4 5 """ 6 user_table = {"python":"important","java":"more_important","shell":"linux"} 7 time = 1 8 9 while

Python基础-----while循环语句

while循环语句会执行条件成立下的代码块,同样需要注意缩进与冒号. 1 #!/usr/bin/evc python 3 2 # -*- coding:utf-8 -*- 3 4 ''' 5 while 条件为真: 6 代码块 7 ''' 8 #条件为真则代码块中的内容会永远执行下去 原文地址:https://www.cnblogs.com/Meanwey/p/9496592.html

Python基础-----while循环练习

一.使用while循环输出1 2 3 4 5 6   8 9 10 1 #!/usr/bin/evc python 3 2 # -*- coding:utf-8 -*- 3 4 ''' 5 使用while循环输出1 2 3 4 5 6 8 9 10 6 ''' 7 8 count = 1 9 while count<=10: 10 if count == 7: 11 pass 12 else: 13 print(count) 14 count += 1 二.使用while循环输出1~100的和

python基础之循环与迭代器

循环 python 循环语句有for循环和while循环. while循环while循环语法 while 判断条件: 语句 #while循环示例 i = 0 while i < 10: i += 1; print(i) while else 语句 语法 while 判断条件: 语句 else: 语句 #while else 示例 n = 0 while n < 10: n += 1; print(n); else: print("n不小于10") for循环 for循环可以

python基础练习-循环

1.使用while循环输出1 2 3 4 5 6    8 9 10 2.求1-100的所有数的和 3.输出 1-100 内的所有奇数 或者 4.输出 1-100 内的所有偶数 或者 5.求1-2+3-4+5 ... 99的所有数的和 6.用户登陆(三次机会重试) 错误3次退出: 登录成功: