小白学 Python(8):基础流程控制(下)
人生苦短,我选Python
前文传送门
循环结构
循环结构一般而言,就是一直做某件事情,直到满足某种条件。
正常的 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 上,方便大家取用。
小白学 Python(8):基础流程控制(下)的更多相关文章
- 小白学 Python(7):基础流程控制(上)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(10):基础数据结构(列表)(下)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(13):基础数据结构(字典)(下)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(15):基础数据结构(集合)(下)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(17):基础数据类型(函数)(下)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(24):Excel 基础操作(下)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(6):基础运算符(下)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(3):基础数据类型(下)
人生苦短,我选Python 引言 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 前面我们介绍过了数字,本篇我们接着聊另一个常用的基础数据类型:字符串. ...
- 小白学 Python(9):基础数据结构(列表)(上)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
随机推荐
- 引用、浅拷贝及深拷贝 到 Map、Set(含对象assign、freeze方法、WeakMap、WeakSet及数组map、reduce等等方法)
从引用聊到深浅拷贝,从深拷贝过渡到ES6新数据结构Map及Set,再到另一个map即Array.map()和与其类似的Array.flatMap(),中间会有其他相关话题,例如Object.freez ...
- Kubernetes学习之k8s
k8s是什么 云原生 越来越多的开发者不仅使用容器作为应用部署和运行的载体,还积极使用了与容器这个应用载体天生匹配的微服务的架构,并依靠容器调度编排引擎的帮助,以保持对外部的敏捷性,这种容器化的微服务 ...
- [C++] 类的使用(1)
1.类的基本思想是数据抽象和封装.数据抽象是一种依赖于接口和实现分离的编程(以及设计)技术. 2.常量对象,以及常量对象的引用或指针都只能调用常量成员函数.因为非常量成员函数有可能修改其作用的对象,与 ...
- .Net Core 3.0 gRPC部署问题解决
前言 .Net Core3.0终于如约而至的来了.在3.0中增加了许多东西.也有了许多的变化.今天我们看的就是在3.0中使用gRPC并遇到的问题.gRPC现在可以非常方便简洁的在.Net Core中使 ...
- vue把链接转二维码
使用qrcodejs2插件 1. 安装qrcodejs2:npm install qrcodejs2 --save 2. 在组件里面引入: import QRCode from 'qrcodejs2' ...
- pathlib模块
一.pathlib库官方定义 pathlib 是Python内置库,Python 文档给它的定义是 Object-oriented filesystem paths(面向对象的文件系统路径).path ...
- Spring boot 梳理 - mappingJackson2JsonView
MappingJacksonJsonView已被废弃了: http://static.javadoc.io/org.springframework/spring-webmvc/4.0.1.RELEAS ...
- python简单爬虫(爬取pornhub特定关键词的items图片集)
请提前搭好梯子,如果没有梯子的话直接403. 1.所用到的包 requests: 和服务器建立连接,请求和接收数据(当然也可以用其他的包,socket之类的,不过requests是最简单好用的) Be ...
- ueditor的初始化赋值
ue.ready(function () {ue.setContent('初始内容'); //赋值给UEditor });
- 写了那么多年 Java 代码,终于 debug 到 JVM 了
继上篇文章 原创 | 全网最新最简单的 openjdk13 代码编译 之后,我们有了自己编译后的 jdk 和 hotspot,如下图所示.接下来就来干一番事情. 搭建调试环境 1.下载 CLion 软 ...