当前位置: 首页 > news >正文

Python教学:6. 循环

文章目录

  • 1.1 循环的意义
  • 1.2 for循环
    • 1.2.1 range的用法
    • 1.2.2 遍历列表
    • 1.2.3 还能遍历什么
  • 1.3 while循环

为什么有人会问我Python的循环怎么写呢?气死我了,这都不会,气得我直接
开课!

1.1 循环的意义

首先,如果你要打印很多相同的内容,你肯定不想 一个一个输入 print吧?但是如果使用循环就可以快速地帮你打印这些内容了。比如:

print("123")
print("123")
print("123")
print("123")
print("123")
print("123")
print("123")
print("123")
print("123")
print("123")

是不是看起来 特别影响 可读性?但是,如果用循环:

for i in range(10):print("123")

是不是美观多了?而且如果print的数量是不定的,使用循环就可以很方便地修改print的数量。

1.2 for循环

for循环是最常见的循环,它的语法如下:

for 变量 in 列表:操作

是不是很简单?举个例子吧:

for i in range(1, 10):print(i) # 1 2 3 4 5 6 7 8 9(此处空格代表换行)

有人可能会问:在我的例子里面,range为什么放在列表的位置?

这是因为range这个东西本身返回值就是一个列表。

那又有人问了:为什么输出里面没有10?

因为range返回的列表是“左闭右开”的(也就是包含头,不包含尾)。这只是range的基本用法,更高级的用法还请看下面——

1.2.1 range的用法

首先就是最基本的用法,也就是前面看到的:

range(区间起点, 区间终点)

有一种简写方法,就是只写区间终点,这样就是从 0 开始(字面意思)。这里就不列举了。

还有一种就是可以指定步长:

range(区间起点, 区间终点, 步长)

看个例子吧:

for i in range(0, 11, 2): # 这里是为了生成到10,所以填11。print(i) # 0, 2, 4, 6, 8, 10

步长当然可以是负数的:

for i in range(10, 0, -1):print(i) # 10 9 8 7 6 5 4 3 2 1

是不是很直观?可以说,range生成的是一个 等差数列,步长就是这个等差数列的公差。

1.2.2 遍历列表

回到for的语法:

for 变量 in 列表:操作

刚刚在列表里面填了一个range,还能填什么呢?没错,就是真正的一个列表:

for i in [1, 3, 4, 2, 6]:print(i) # 1 3 4 2 6

像这样,我们就可以直观地看出,变量其实就是列表中的一个元素。

1.2.3 还能遍历什么

除了列表,循环里还能遍历什么呢?比如字符串:

for i in "hello":print(i) # h e l l o

还可以遍历一个字典:

dic = {"name": "小明", "age": "12", "school", "新华小学"}
for i, j, in dic.items():print(i, j) # name 小明 age 12 school 新华小学

至于变量这里为什么可以填ij呢,这里运用的是Python的解包,后面 我会出一期教程的。

1.3 while循环

接下来就是while循环了,while循环的语法同样很简单:

while(条件):操作

while的执行过程是,首先判断 条件 ,如果为True,那么执行操作,然后再次判断……直到 条件 为False,那么就跳出循环,继续执行下面的代码。

举个例子吧:

i = 2
while (i <= 10):print(i) # 2 4 6 8 10i += 2

其实,while说白了就是条件循环,for循环能实现的东西它也一样能实现。比如刚刚的例子用for写就是这样的:

for i in range(2, 11, 2):print(i)

但是,while能实现的东西for不一定能实现,比如无限循环:

while True:print("123")

有人可能会问:如果我不小心运行了一个无限循环,怎么停止运行呢?
只需要按下Ctrl+C就可以了。不过如果你想随时停止程序,都是可以按这个组合键强制停止的。

好了,for和while都讲完了,那么,同学们,
下课!

http://www.dtcms.com/a/356881.html

相关文章:

  • 巨头围猎“单人经济”:自助小火锅如何成为餐饮新破局点?
  • 淘宝扭蛋机小程序系统开发:打造个性化线上购物乐园
  • Anaconda、OpenCV安装配置方法
  • 老地方 新世界 |GitCodeAI 社区升级发布会来了
  • 【LeetCode每日一题】141. 环形链表 142.环形链表 II
  • 麒麟系统使用-VSCode运行.net过程中一些可能问题及解决办法
  • 【前端教程】JavaScript 对象与数组操作实战:从基础到优化
  • 课程视频怎么加密?在线教育机构常用的6个课程加密方法
  • 视频转音频
  • 学习Java30天(tcp的多开客户端和bs架构以及java高级)
  • R 语言 + 卒中 Meta 分析
  • 如何用 Kotlin 在 Android 手机开发一个小闹钟、计时器、秒表
  • Vue3+Ant-design-vue 实现树形穿梭框
  • Java中对泛型的理解
  • mes表结构思维导图
  • 基于机器学习的多个模型的预测Backtrader自动化交易系统设计
  • Java设计模式是什么?核心设计原则有哪些?
  • 编程速递:RAD Studio 13 即将到来的功能
  • Linux应用软件编程--->数据库
  • C++函数继承
  • 【C++闯关笔记】STL:vector的学习与使用
  • 论文阅读:ICLR 2024 GAIA: A Benchmark for General AI Assistants
  • DBeaver中禁用PostgreSQL SSL的配置指南
  • SQL Server 查看备份计划
  • Creed —— 设置玩家属性(生命/耐力/经验值等)
  • 初学python的我开始Leetcode题-17
  • Azure Marketplace 和 Microsoft AppSource的区别
  • 订餐后台管理系统 -day03 登录模块
  • Linux操作系统Shell脚本-第一章
  • 数据防泄与最小可见:ABP 统一封装行级安全(RLS)+ 列级脱敏