GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • 莫烦PYTHON
  • 学习 ▾
  • 推荐学习顺序
  • 交互式学Python
  • 多进程 multiprocessing
  • 多线程 threading
  • 窗口视窗 Tkinter
  • 有趣的机器学习
  • 强化学习 Reinforcement Learning
  • 进化算法 Evolutionary Algorithm
  • Tensorflow
  • PyTorch
  • Theano
  • Keras

This view

  • Original page
  • New address

GeezerVison is showing mofanpy.com — for 和 while 循环 | 莫烦Python

  • 支持

📢

莫烦有新起点啦!「莫烦 x 无限可能」— 关于 AI、行业、产品、教育的经验思考,欢迎来新站看看 →

« 条件判断 数据种类 »

for 和 while 循环

作者: 莫烦 编辑: 莫烦 发布于: 2021-04-24

在程序设计的时候,我们最常用到的一项功能就是循环了。 而且这也是为什么我们喜欢机器的一个原因。想想如果有一个人无怨无悔,一直在帮你做着一件重复的劳动, 如果这个是真人的话,我想这世界上应该也没人愿意这么干。

只有机器才能将我们从这种重复的劳动中释放出来。今天我们从文件管理系统的角度, 看看有哪些东西是可以被循环解决的。

for 循环¶

在程序设计中,不管你使用哪种语言,其中都有一个叫 for 的循环种类。当你想要逐个把你书包里的书拿出来, 逐个将新书写上你自己的名字,这一类的重复事项,都可以让 for 来帮你。 下面我们来看看如果在文件系统中,我们想为文件名批量递增序号,应该怎么办。

想必当你试完以后,你也发现了,这个 range() 会一次次给你放出 0,1,2,3,4 这些数,如果是 range(10) 它就会放出从0到9的一共10个数。 这个 range(10) 当中的 10 也就是从0开始一直到10之前的10个数。其实你还可以像下面这么写。 range(2,5) 表示从2开始,一直到5之前的 2,3,4 3个数。

还有一种写法,可以让你跳着走,有时候不一定你想所有数都放出来,比如你想间隔几个在出一个数,你可以这么写。 range(3, 10, 2) 就表示了,从3开始,一直到10之前,每2次出一次数。

后面当我们学到列表和字典的时候,还有更多的玩法。 而且后面我们也会介绍关于 for 循环的偷懒用法~

While 循环¶

和 for 循环一样,while 循环在程序设计中也占据了大半江山。和 for 循环的最大不同点我列在下面的表格中:

特点
for 天然适合在有限的循环中
while 可以被用在无限循环中

其实我想表达的意思是,如果你脑海中想到的是要处理一个一开始就有明确长度的序列,那么你第一个想到的应该是 for 循环。 如果你脑海中这个序列你不知道要在什么时候停,或者它是无限长的一个序列,或者运行无限次数,那你第一个想到的应该要用 while 循环。 while 循环可以用条件来限制他的循环次数。

比如下面这个循环,我想猜一个数字(现在悄悄告诉你是20),当我猜的和这个数字不同的时候,我就往猜的数字上加一。 guess_num += 1 这个运算在前面讲过, 是用来做及时累加的功能。

注意,如果你不小心触发了死循环,程序一直在运行,你只能强行停止程序。在莫烦Python上若运行碰到while死循环的话,你就只能刷新页面啦!

重要的话说三遍

死循环了请刷新页面!

死循环了请刷新页面!

死循环了请刷新页面!

continue 和 break¶

前面我们尝试过了按照一个条件来终止循环,但是我们还有一些小技巧,让循环更加好用,写得读着会更加舒服。 比如将要介绍的 break,它最主要的目的就是为了个性化的终止当前循环。如果你有改过上面那个 while 循环的代码, 而且正好碰到了死循环的状态,你有可能会尝试这样写,用一个 count 来计数,统计尝试的次数,避免死循环的发生。

那么 break 也能救你于水火之中,及时停止循环,而且 break 这个词在我看来,自带终止的含义,就是用来处理危险状况的~

在 for 循环中,也是可以用 break 的。反正 break 和 continue 只要是个循环,他们就能管用。

好了,我们已经介绍了这个紧急刹车器 break,那么我们再来介绍一下它的孪生兄弟 continue。现在你可以简单的理解成这样:

比喻
break 紧急弹出
continue 算了,我接着来

continue 在我自己的实践中,我很常把它用在判断一个数据如果不能被处理的话,我就把它跳过,接着处理下一个数据。


降低知识传递的门槛

莫烦经常从互联网上学习知识,开源分享的人是我学习的榜样。 他们的行为也改变了我对教育的态度: 降低知识传递的门槛。

我组建了微信群,欢迎大家加入,交流经验,提出问题,互相帮持。 扫码后,请一定备注"莫烦",否则我不会同意你的入群申请。

wechat
« 条件判断 数据种类 »
    教程目录

    交互式学Python

      介绍

    • 课程介绍

      基础功能

    • 变量与运算

      循环、数据、判断

    • 条件判断
    • for 和 while 循环
      • for 循环
      • While 循环
      • continue 和 break
    • 数据种类

      函数、类、模块

    • Function 函数
    • Class 类
    • Module 模块

      文件管理

    • 读写文件
    • 文件目录管理
    • 正则表达式
    • pickle/json 序列化

      异常检查和处理

    • 如何控制异常 try-except
    • 单元测试

      做个项目

    • 没啥用计算器
    • 文件批量处理

      高阶内容

    • 字符串的高级玩法
    • Python的偷懒用法
    • 复制的"玄学"
    • 为什么要有生成器
    • 套娃的装饰器
    • Python 安装和依赖管理:Conda/Pip
    • Python编辑器

      进阶学习

    • 多线程多进程
    • Python 窗口部件
    • 数据三剑客 Numpy Pandas Matplotlib
    • 数据采集-爬虫技术
    You are visitor 01402503 — GeezerVison does not store the pages you look up.
    Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.