Python入门_浅谈for循环、while循环

作者:jingxian 时间:2021-02-07 13:17:23 

Python中有两种循环,分别为:for循环和while循环。

1. for循环

for循环可以用来遍历某一对象(遍历:通俗点说,就是把这个循环中的第一个元素到最后一个元素依次访问一次)。for循环的基本结构如下:

Python入门_浅谈for循环、while循环

具体看这个案例:

设计一个函数,在桌面创建10个文本,用数字从1-10依次给它们命名。


def text_create():
 path = '/Users/duwangdan/Desktop/'
 for text_name in range(1,11):
   # 1-10的范围需要用到range函数
   with open (path + str(text_name) + '.txt','w') as text:
     # with...as的用法正文内会详细介绍
     text.write(str(text_name))
     text.close()
     print('Done')

text_create()

现在我们来理解下每行代码。

第1行:定义一个text_create函数;

第2行:给变量path赋值为桌面路径;

第3行:将1-10范围内的每个数字依次装入变量text_name中,每次命名一个文件;

第5行:打开位于桌面的txt文件,并给每一个text执行写入操作;

第7行:给每个文件依次命名;

第8行:关闭文件;

第9行:执行完一次命名操作后显示一个Done;

第11行:调用函数。

案例中提到了“with...as”,在Python中,“with...as”语法是用来代替传统的“try...finally”的。

比如:打开桌面的test文件,尝试读取文件内容,最后关闭文件。


1 file = open('/Users/duwangdan/Desktop/test.txt')
2 try:
3   data = file.read()
4 finally:
5   file.close()

虽然这段代码执行良好,但比较冗长,换成用“with...as”来表达后,代码会更为简洁。


1 with open('/Users/duwangdan/Desktop/test.txt') as file:
2   data = file.read()

除了上面的单层循环之外,还有一种常见的循环,是嵌套循环

比如用嵌套循环实现九九乘法口诀。


1 for i in range(1,10):
2   for j in range(1,10):
3     print('{} X {} = {}'.format(i,j,i*j))

最外层的循环,依次将1-9的数字储存在变量i中;变量i每取一次值,内层循环就依次将1-9的数字储存在变量j中;最后打印出当前的i、j、和i*j的值。

从Python2.6开始,新增了format函数,用来格式化字符串,可以通过{}.format来实现。在上面这个案例中,将i、j、i*j的值分别存入前面的{ }中,然后做好格式化,统一形式。

2. while循环

for循环和while循环,两者的相同点在于都能循环做一件重复的事情;不同点在于,for循环是在序列穷尽时停止,while循环是在条件不成立时停止。

Python入门_浅谈for循环、while循环

具体,看下面这个例子:


1 count = 0
2 while True:
3   print('重复一遍')
4   count = count + 1
5   if count == 3:
6     break

给变量count赋值为0,while True就是条件成立,显示“重复一遍”,此时count被重新赋值为count+1,如果count等于3时,跳出循环。最后一句的break是跳出最近一层的循环,如果不跳出,程序会无限制循环下去,造成死循环。

如果不想用break来跳出循环,也可以改变使循环成立的条件。

将上面的例子可转化为如下:


1 count = 0
2 while (count < 3):
3   print('重复一遍')
4   count = count + 1

到这里,关于逻辑判断到循环的内容已经全部结束,后面会做下小练习,是几乎大家都玩过的一个小游戏:猜大小。

操作环境:Python版本,3.6;PyCharm版本,2016.2;电脑:Mac

标签:python,for循环,while循环
0
投稿

猜你喜欢

  • ini_set的用法介绍

    2023-11-15 07:31:56
  • Python装饰器实现几类验证功能做法实例

    2023-11-11 18:09:30
  • Python如何破解压缩包密码

    2023-09-01 19:15:41
  • 对MySQL几种联合查询的通俗解释

    2024-01-18 17:44:40
  • 从两个方面讲解SQL Server口令的脆弱性

    2009-01-08 13:40:00
  • Flask框架请求钩子与request请求对象用法实例分析

    2021-11-23 20:14:48
  • 基于javascript实现tab选项卡切换特效调试笔记

    2024-06-12 13:48:02
  • CentOS7安装MySQL8的超级详细教程(无坑!)

    2024-01-25 13:25:41
  • vue.js使用v-if实现显示与隐藏功能示例

    2024-05-02 16:59:50
  • Python 十个字典用法使用技巧归纳

    2023-10-14 16:52:54
  • Golang TCP粘包拆包问题的解决方法

    2023-07-18 11:04:43
  • Nodejs中调用系统命令、Shell脚本和Python脚本的方法和实例

    2024-05-13 09:29:17
  • Php header()函数语法及使用代码

    2023-09-04 13:32:20
  • python logging日志模块原理及操作解析

    2022-10-30 02:44:31
  • 基于Python编写一个有趣的进程勾选器(Process Selector)

    2023-06-19 06:28:19
  • vue组件间传值的方法你知道几种

    2024-04-28 09:31:32
  • 如何打包Python Web项目实现免安装一键启动的方法

    2022-08-16 19:28:48
  • python 引用传递和值传递详解(实参,形参)

    2023-10-25 15:57:44
  • JavaScrpt的面向对象全面解析

    2024-04-23 09:20:40
  • python画立方体--魔方

    2022-04-22 10:20:43
  • asp之家 网络编程 m.aspxhome.com