人生苦短,我选Python

前文传送门

小白学 Python(1):开篇

小白学 Python(2):基础数据类型(上)

小白学 Python(3):基础数据类型(下)

小白学 Python(4):变量基础操作

小白学 Python(5):基础运算符(上)

小白学 Python(6):基础运算符(下)

小白学 Python(7):基础流程控制(上)

循环结构

循环结构一般而言,就是一直做某件事情,直到满足某种条件。

正常的 while 循环

比如:学习使我快乐,一直学习一直快乐。

这好像和我上面说的定义有点不相符,那么我再补充一句,直到我不快乐,那么我就不学习了。

那么上面这个场景用代码怎么实现呢?

happy = 0

while happy < 10:
print("学习使我快乐,快乐 + 1,当前快乐值为:", happy)
happy += 1 print("我不快乐了")

运行结果如下:

学习使我快乐,快乐 + 1,当前快乐值为: 0
学习使我快乐,快乐 + 1,当前快乐值为: 1
学习使我快乐,快乐 + 1,当前快乐值为: 2
学习使我快乐,快乐 + 1,当前快乐值为: 3
学习使我快乐,快乐 + 1,当前快乐值为: 4
学习使我快乐,快乐 + 1,当前快乐值为: 5
学习使我快乐,快乐 + 1,当前快乐值为: 6
学习使我快乐,快乐 + 1,当前快乐值为: 7
学习使我快乐,快乐 + 1,当前快乐值为: 8
学习使我快乐,快乐 + 1,当前快乐值为: 9
我不快乐了

正所谓物极必反,快乐到极致以后就是不快乐,不快乐就不学习了。

while 死循环

当然不排除自然界中总有某些大佬,他们能一直学习并且一直快乐下去:

那么他们的代码就和普通人的不一样,

happy = 0

while True:
print("学习使大佬快乐,快乐 + 1,当前快乐值为:", happy)
happy += 1

这个就比较狠了,但是出现一个问题是,现在大佬快乐的停不下来了,这可咋办,这个时候想让大佬停止快乐冷静冷静就只能祭出我们的大杀器:

不对不对,掏错了错了,是这个:

for 循环

for 循环的一般使用格式如下:

for <variable> in <sequence>:
<statements>
else:
<statements>

这里的 <sequence> 可以是我们学过的字符串,也可以是我们将要学的列表,元组,字典等。

话不多说,先来个栗子看看:

错了错了,是这个:

for index in "Python":
print(index)

输出结果是这样的:

P
y
t
h
o
n

这里相当于去循环 "Python" 这个字符串里的每位字符。

然后依次打印。

如果需要使用 for 循环遍历数字序列,可以使用内置的 range() 函数。先简单体验下:

for index in range(5):
print(index)

结果如下:

0
1
2
3
4

语法:range(start, stop[, step])

  • start:计数从 start 开始。
  • stop:计数到 stop 为止,但不包括 stop 。
  • step:步长,也叫间隔。

比如向这样:

腿长任性,一次能走 3 步,那么它的实现就应该是这样的:

for index in range(0, 10, 3):
print(index)

输出结果如下:

0
3
6
9

循环中断

我们在学习的过程中,总会面对各种各样的诱惑,比如:

这时,我们快乐的学习过程就不得不中断了。

而在 Python 中,中断循环有 break 和 continue 两种。

  • break :结束本次循环,跳出所在的循环。
  • continue :中断本次循环,继续进行下一次循环。

那么如果你去开黑,不回来学习了就是 break 。

我们用代码描述下这个场景:

happy = 0

while happy < 10:
happy += 1
if happy == 5:
break
print("学习使我快乐,快乐 + 1,当前快乐值为:", happy) print("还是开黑更快乐一些~~~")

运行结果如下:

学习使我快乐,快乐 + 1,当前快乐值为: 1
学习使我快乐,快乐 + 1,当前快乐值为: 2
学习使我快乐,快乐 + 1,当前快乐值为: 3
学习使我快乐,快乐 + 1,当前快乐值为: 4
还是开黑更快乐一些~~~

当然,有时候也会有些特殊情况,比如开黑玩了一局以后,还是觉得学习更快乐,接着回来学习:

happy = 0

while happy < 10:
happy += 1
if happy == 5:
continue
print("学习使我快乐,快乐 + 1,当前快乐值为:", happy) print("还是学习会更快乐~~~")

执行结果如下:

学习使我快乐,快乐 + 1,当前快乐值为: 1
学习使我快乐,快乐 + 1,当前快乐值为: 2
学习使我快乐,快乐 + 1,当前快乐值为: 3
学习使我快乐,快乐 + 1,当前快乐值为: 4
学习使我快乐,快乐 + 1,当前快乐值为: 6
学习使我快乐,快乐 + 1,当前快乐值为: 7
学习使我快乐,快乐 + 1,当前快乐值为: 8
学习使我快乐,快乐 + 1,当前快乐值为: 9
学习使我快乐,快乐 + 1,当前快乐值为: 10
还是学习会更快乐~~~

是不是在 happy == 5 的时候去打了一局王者发现还是发现学习更加快乐,小编相信每一位粉丝都是这样的人。

示例代码

本系列的所有代码小编都会放在代码管理仓库 Github 和 Gitee 上,方便大家取用。

示例代码-Github

示例代码-Gitee

小白学 Python(8):基础流程控制(下)的更多相关文章

  1. 小白学 Python(7):基础流程控制(上)

    人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...

  2. 小白学 Python(10):基础数据结构(列表)(下)

    人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...

  3. 小白学 Python(13):基础数据结构(字典)(下)

    人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...

  4. 小白学 Python(15):基础数据结构(集合)(下)

    人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...

  5. 小白学 Python(17):基础数据类型(函数)(下)

    人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...

  6. 小白学 Python(24):Excel 基础操作(下)

    人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...

  7. 小白学 Python(6):基础运算符(下)

    人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...

  8. 小白学 Python(3):基础数据类型(下)

    人生苦短,我选Python 引言 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 前面我们介绍过了数字,本篇我们接着聊另一个常用的基础数据类型:字符串. ...

  9. 小白学 Python(9):基础数据结构(列表)(上)

    人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...

随机推荐

  1. Linux线程唤醒与等待

    生产者消费者模式在程序设计中出现频率非常高,经常会有线程间通过消息队列或其他共享变量进行交互的场景.而这时就会出现一个问题,消费者如何知道生产者已经生产了数据呢?有的程序会采取消费者循环判断消息队列大 ...

  2. 指针生产网络(Pointer-Generator-Network)原理与实战

    0 前言 本文内容主要:介绍Pointer-Generator-Network在文本摘要任务中的背景,模型架构与原理.在中英文数据集上实战效果与评估,最后得出结论.参考的<Get To The ...

  3. loadrunner12下载、安装、认证、汉化

    友情提示 推荐工具pandownload下载 本文尽可能地写得详细一些,有不懂的请先自行百度 安装过程中会有大量英文,可以用有道词典截图翻译 若你的电脑只有一个分区,则建议所有位置选择默认,或者根据个 ...

  4. commons-beanutils.jar及其支持文件

    下载地址: 链接:https://pan.baidu.com/s/1AtiK3nsk0aBuBfMdNwBVGw 密码:6tul

  5. 前端获取后台传输过来是数据 {张三:12} 解析为[object object],获取其中内容

    昨天遇到前端传输过来的数据为[{张三:12},{李四:23}],后台用的是map格式,我在前端js中暂未找到直接调用对象内容的方法,故利用以下方法来获取: $.each(data.data,funct ...

  6. idea 启动springboot项目报找不到主类

    今天搭建的一个新springboot项目,运行启动类时控制报找不到主类错误 解决方法: 在idea控制台输入mvn clean install命令

  7. 【SQL server初级】数据库性能优化一:数据库自身优化(大数据量)

    数据库优化包含以下三部分,数据库自身的优化,数据库表优化,程序操作优化.此文为第一部分 数据库性能优化一:数据库自身优化 优化①:增加次数据文件,设置文件自动增长(粗略数据分区) 1.1:增加次数据文 ...

  8. 理解JS引擎的执行机制

    首先,请牢记2点: (1) JS是单线程语言 (2) JS的Event Loop是JS的执行机制.深入了解JS的执行,就等于深入了解JS里的event loop 1.灵魂三问 : JS为什么是单线程的 ...

  9. Activiti(1) - TaskRuntime API 入门

    目录 TaskRuntime API pom.xml 注册TaskRuntime实例 角色与分组 任务事件监听器 DemoApplication 源码 Activiti 是一个自动化工作流框架.它能帮 ...

  10. MySQL数据库从复制及企业配置实践

    在实际生产中,数据的重要性不言而喻: 如果我们的数据库只有一台服务器,那么很容易产生单点故障的问题,比如这台服务器访问压力过大而没有响应或者奔溃,那么服务就不可用了,再比如这台服务器的硬盘坏了,那么整 ...