跟老齐学Python之画圈还不简单吗?


Posted in Python onSeptember 20, 2014

在python中,循环有一个语句:for语句。

简单的for循环例子

>>> hello = "world"
>>> for i in hello:
...   print i
... 
w
o
r
l
d

上面这个for循环是怎么工作的呢?

hello这个变量引用的是"world"这个str类型的数据
变量 i 通过hello找到它所引用的"world",然后从第一字符开始,依次获得该字符的引用。
当 i="w"的时候,执行print i,打印出了字母w,结束之后循环第二次,让 i="e",然后执行print i,打印出字母e,如此循环下去,一直到最后一个字符被打印出来,循环自动结束
顺便补充一个print的技巧,上面的打印结果是竖着排列,也就是每打印一个之后,就自动换行。如果要让打印的在一行,可以用下面的方法,在打印的后面加一个逗号(英文)

>>> for i in hello:
...   print i,
... 
w o r l d

>>> for i in hello:
...   print i+",",  #为了美观,可以在每个字符后面加一个逗号分割
... 
w, o, r, l, d,
>>>

因为可以通过使用索引编号(偏移量)做为下表,得到某个字符。所以,还可以通过下面的循环方式实现上面代码中同样功能:

>>> for i in range(len(hello)):
...   print hello[i]
... 
w
o
r
l
d

其工作方式是:

len(hello)得到hello引用的字符串的长度,为5
range(len(hello),就是range(5),也就是[0, 1, 2, 3, 4],对应这"world"每个字母的编号,即偏移量。
for i in range(len(hello)),就相当于for i in [0,1,2,3,4],让i依次等于list中的各个值。当i=0时,打印hello[0],也就是第一个字符。然后顺序循环下去,直到最后一个i=4为止。
以上的循环举例中,显示了对字str的字符依次获取,也涉及了list,感觉不过瘾呀。那好,看下面对list的循环:

>>> ls_line
['Hello', 'I am qiwsir', 'Welcome you', '']
>>> for word in ls_line:
...   print word
... 
Hello
I am qiwsir
Welcome you

>>> for i in range(len(ls_line)):
...   print ls_line[i]
... 
Hello
I am qiwsir
Welcome you

上一个台阶

我们已经理解了for语句的基本工作流程,如果写一个一般化的公式,可以这么表示:

for 目标 in 对象:
    操作语句
用for语句来解决一个实际问题。

例:找出100以内的能够被3整除的正整数。

分析:这个问题有两个限制条件,第一是100以内的正整数,根据前面所学,可以用range(1,100)来实现;第二个是要解决被3整除的问题,假设某个正整数n,这个数如果能够被3整除,也就是n%3(%是取余数)为0.那么如何得到n呢,就是要用for循环。

以上做了简单分析,要实现流程,还需要细化一下。按照前面曾经讲授过的一种方法,要画出问题解决的流程图。

跟老齐学Python之画圈还不简单吗?

下面写代码就是按图索骥了。

代码:

#! /usr/bin/env python
#coding:utf-8

aliquot = []

for n in range(1,100):
  if n%3 == 0:
    aliquot.append(n)

print aliquot

代码运行结果:

[3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87, 90, 93, 96, 99]
这里仅仅列举一个简单的例子,看官可以在这个例子基础上深入:打印某范围内的偶数/奇数等。

Python 相关文章推荐
python迭代器的使用方法实例
Nov 21 Python
python中的多重继承实例讲解
Sep 28 Python
Python模仿POST提交HTTP数据及使用Cookie值的方法
Nov 10 Python
Python实现的多线程端口扫描工具分享
Jan 21 Python
python中urllib.unquote乱码的原因与解决方法
Apr 24 Python
用python处理图片实现图像中的像素访问
May 04 Python
numpy 进行数组拼接,分别在行和列上合并的实例
May 08 Python
numpy求平均值的维度设定的例子
Aug 24 Python
python如何使用Redis构建分布式锁
Jan 16 Python
使用keras2.0 将Merge层改为函数式
May 23 Python
python 日志模块logging的使用场景及示例
Jan 04 Python
Python爬虫中urllib3与urllib的区别是什么
Jul 21 Python
跟老齐学Python之list和str比较
Sep 20 #Python
Python显示进度条的方法
Sep 20 #Python
python中对list去重的多种方法
Sep 18 #Python
Python中用Descriptor实现类级属性(Property)详解
Sep 18 #Python
Python中的闭包总结
Sep 18 #Python
python的即时标记项目练习笔记
Sep 18 #Python
python脚本实现分析dns日志并对受访域名排行
Sep 18 #Python
You might like
PHP 文件编程综合案例-文件上传的实现
2013/07/03 PHP
从零开始学YII2框架(一)通过Composer安装Yii2框架
2014/08/20 PHP
php将文本文件转换csv输出的方法
2014/12/31 PHP
javascript中的prototype属性实例分析说明
2010/08/09 Javascript
jquery中this的使用说明
2010/09/06 Javascript
把字符串按照特定的字母顺序进行排序的js代码
2014/01/28 Javascript
js匿名函数的调用示例(形式多种多样)
2014/08/20 Javascript
jQuery中DOM树操作之使用反向插入方法实例分析
2015/01/23 Javascript
使用jquery制作弹出框效果
2015/04/03 Javascript
js图片轮播特效代码分享
2015/09/07 Javascript
JS弹出窗口插件zDialog简单用法示例
2016/06/12 Javascript
Bootstrap Modal遮罩弹出层(完整版)
2016/11/21 Javascript
微信小程序 弹幕功能简单实例
2017/02/14 Javascript
简单实现js放大镜效果
2017/07/24 Javascript
详解使用create-react-app添加css modules、sasss和antd
2018/07/31 Javascript
vue axios 简单封装以及思考
2018/10/09 Javascript
利用React Router4实现的服务端直出渲染(SSR)
2019/01/07 Javascript
VeeValidate 的使用场景以及配置详解
2019/01/11 Javascript
微信小程序 wepy框架与iview-weapp的用法详解
2019/04/10 Javascript
vue组件传值的实现方式小结【三种方式】
2020/02/05 Javascript
js实现整体缩放页面适配移动端
2020/03/31 Javascript
ES5 模拟 ES6 的 Symbol 实现私有成员功能示例
2020/05/06 Javascript
Python pass 语句使用示例
2014/03/11 Python
Python的面向对象编程方式学习笔记
2016/07/12 Python
对pandas中iloc,loc取数据差别及按条件取值的方法详解
2018/11/06 Python
在python2.7中用numpy.reshape 对图像进行切割的方法
2018/12/05 Python
Python模块的加载讲解
2019/01/15 Python
Python如何使用bokeh包和geojson数据绘制地图
2020/03/21 Python
如何通过安装HomeBrew来安装Python3
2020/12/23 Python
无畏的旅行:Intrepid Travel
2017/12/20 全球购物
Perfume’s Club英国官网:购买香水和护肤品
2019/11/02 全球购物
新教师工作感言
2014/02/16 职场文书
见习报告格式要求
2014/11/04 职场文书
《合作意向书》怎么写?
2019/08/20 职场文书
Python机器学习算法之决策树算法的实现与优缺点
2021/05/13 Python
一定要知道的 25 个 Vue 技巧
2021/11/02 Vue.js