Python2与python3中 for 循环语句基础与实例分析


Posted in Python onNovember 20, 2017

下面的代码中python2与python3的print使用区别,大家注意一下。python3需要加()才行。

语法:

for循环的语法格式如下:

for iterating_var in sequence:
  statements(s)

流程图:

Python2与python3中 for 循环语句基础与实例分析

实例:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
for letter in '3water.com':   # 第一个实例
  print '当前字母 :', letter
 
fruits = ['banana', 'apple', 'mango','orange']
for fruit in fruits:    # 第二个实例
  print '当前水果 :', fruit
 
print "Good bye!"

以上实例输出结果:

当前字母 : j
当前字母 : b
当前字母 : 5
当前字母 : 1
当前字母 : .
当前字母 : n
当前字母 : e
当前字母 : t
当前水果 : banana
当前水果 : apple
当前水果 : mango
当前水果 : orange
Good bye!

通过序列索引迭代

另外一种执行循环的遍历方式是通过索引,如下实例:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
fruits = ['banana', 'apple', 'mango']
for index in range(len(fruits)):
  print '当前水果 :', fruits[index]
 
print "Good bye!"

以上实例输出结果:

当前水果 : banana
当前水果 : apple
当前水果 : mango
Good bye!

以上实例我们使用了内置函数 len() 和 range(),函数 len() 返回列表的长度,即元素的个数。 range返回一个序列的数。

循环使用 else 语句

在 python 中,for … else 表示这样的意思,for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样。

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
for num in range(10,20): # 迭代 10 到 20 之间的数字
  for i in range(2,num): # 根据因子迭代
   if num%i == 0:   # 确定第一个因子
     j=num/i     # 计算第二个因子
     print '%d 等于 %d * %d' % (num,i,j)
     break      # 跳出当前循环
  else:         # 循环的 else 部分
   print num, '是一个质数'

以上实例输出结果:

10 等于 2 * 5
11 是一个质数
12 等于 2 * 6
13 是一个质数
14 等于 2 * 7
15 等于 3 * 5
16 等于 2 * 8
17 是一个质数
18 等于 2 * 9
19 是一个质数

以下是一些实例

for 使用案例
使用list.append()模块对质数进行输出。

#!/usr/bin/python
# -*- coding: UTF-8 -*-

# 输出 2 到 100 简的质数
prime = []
for num in range(2,100): # 迭代 2 到 100 之间的数字
  for i in range(2,num): # 根据因子迭代
   if num%i == 0:   # 确定第一个因子
     break      # 跳出当前循环
  else:         # 循环的 else 部分
   prime.append(num)
print prime

输出结果:

[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]

python3中的for语句使用

for 语句
Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
for循环的一般格式如下:

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

Python loop循环实例:
实例

>>>languages = ["C", "C++", "Perl", "Python"] 
>>> for x in languages:
...   print (x)
... 
C
C++
Perl
Python
>>>

以下 for 实例中使用了 break 语句,break 语句用于跳出当前循环体:
实例

#!/usr/bin/python3
 
sites = ["Baidu", "Google","Runoob","Taobao"]
for site in sites:
  if site == "Runoob":
    print("菜鸟教程!")
    break
  print("循环数据 " + site)
else:
  print("没有循环数据!")
print("完成循环!")

执行脚本后,在循环到 "Runoob"时会跳出循环体:
循环数据 Baidu
循环数据 Google
菜鸟教程!
完成循环!

range()函数
如果你需要遍历数字序列,可以使用内置range()函数。它会生成数列,例如:
实例

>>>for i in range(5):
...   print(i)
...
0
1
2
3
4

你也可以使用range指定区间的值:
实例

>>>for i in range(5,9) :
  print(i)
 
  
5
6
7
8
>>>

也可以使range以指定数字开始并指定不同的增量(甚至可以是负数,有时这也叫做'步长'):
实例

>>>for i in range(0, 10, 3) :
  print(i)
 
  
0
3
6
9
>>>

负数:
实例

>>>for i in range(-10, -100, -30) :
  print(i)
 
  
-10
-40
-70
>>>

您可以结合range()和len()函数以遍历一个序列的索引,如下所示:
实例

>>>a = ['Google', 'Baidu', 'Runoob', 'Taobao', 'QQ']
>>> for i in range(len(a)):
...   print(i, a[i])
... 
0 Google
1 Baidu
2 Runoob
3 Taobao
4 QQ
>>>

还可以使用range()函数来创建一个列表:
实例

>>>list(range(5))
[0, 1, 2, 3, 4]
>>>

这里就介绍到这了,其实python中for循环,结合range可以实现很多功能,下篇文章三水点靠木小编将继续为大家介绍更多关于这方便的文章。

Python 相关文章推荐
用Python的Django框架编写从Google Adsense中获得报表的应用
Apr 17 Python
详细讲解用Python发送SMTP邮件的教程
Apr 29 Python
Python类定义和类继承详解
May 08 Python
Python 闭包的使用方法
Sep 07 Python
解决Python 使用h5py加载文件,看不到keys()的问题
Feb 08 Python
python中的colorlog库使用详解
Jul 05 Python
Pandas时间序列重采样(resample)方法中closed、label的作用详解
Dec 10 Python
Tensorflow 实现释放内存
Feb 03 Python
基于Python 的语音重采样函数解析
Jul 06 Python
Keras保存模型并载入模型继续训练的实现
Feb 20 Python
python_tkinter弹出对话框创建
Mar 20 Python
Python自动操作神器PyAutoGUI的使用教程
Jun 16 Python
Python3中类、模块、错误与异常、文件的简易教程
Nov 20 #Python
Python实现将HTML转换成doc格式文件的方法示例
Nov 20 #Python
python中学习K-Means和图片压缩
Nov 20 #Python
深入理解Python中的super()方法
Nov 20 #Python
python实现读取excel写入mysql的小工具详解
Nov 20 #Python
利用selenium 3.7和python3添加cookie模拟登陆的实现
Nov 20 #Python
python Matplotlib画图之调整字体大小的示例
Nov 20 #Python
You might like
php利用header函数实现文件下载时直接提示保存
2009/11/12 PHP
基于ThinkPHP+uploadify+upload+PHPExcel 无刷新导入数据
2015/09/23 PHP
如何离线执行php任务
2017/02/21 PHP
js中如何把字符串转化为对象、数组示例代码
2013/07/17 Javascript
JS 实现导航栏悬停效果(续2)
2013/09/24 Javascript
appendChild() 或 insertBefore()使用与区别介绍
2013/10/11 Javascript
jquery validate在ie8下的bug解决方法
2013/11/13 Javascript
深入分析Javascript跨域问题
2015/04/17 Javascript
数组Array的一些方法(总结)
2017/02/17 Javascript
微信小程序 出现47001 data format error原因解决办法
2017/03/10 Javascript
Express URL跳转(重定向)的实现方法
2017/04/07 Javascript
详解Nodejs mongoose
2018/06/10 NodeJs
jQuery实现input输入框获取焦点与失去焦点时提示的消失与显示功能示例
2019/05/27 jQuery
Python中的zipfile模块使用详解
2015/06/25 Python
Python找出最小的K个数实例代码
2018/01/04 Python
Python OpenCV调用摄像头检测人脸并截图
2020/08/20 Python
django解决订单并发问题【推荐】
2019/07/31 Python
详解python内置常用高阶函数(列出了5个常用的)
2020/02/21 Python
Python基于DB-API操作MySQL数据库过程解析
2020/04/23 Python
Python pandas对excel的操作实现示例
2020/07/21 Python
Python 开发工具通过 agent 代理使用的方法
2020/09/27 Python
html5 兼容IE6结构的实现代码
2012/05/14 HTML / CSS
HTML5页面无缝闪开的问题及解决方案
2020/06/11 HTML / CSS
Clarks英国官方网站:全球领军鞋履品牌
2016/11/26 全球购物
财务会计专业应届毕业生求职信
2013/10/18 职场文书
物业电工岗位职责
2013/11/20 职场文书
求职自荐信范文格式
2013/11/29 职场文书
股东协议书范本
2014/04/14 职场文书
实习护士自荐信
2014/06/21 职场文书
药剂专业毕业生求职信
2014/06/24 职场文书
学术研讨会欢迎词
2015/01/26 职场文书
实施意见格式范本
2015/06/05 职场文书
企业法律事务工作总结
2015/08/11 职场文书
周末问候语大全
2015/11/10 职场文书
浅谈如何提高PHP代码质量之单元测试
2021/05/28 PHP
Redis中key的过期删除策略和内存淘汰机制
2022/04/12 Redis