跟老齐学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根据出生年份简单计算生肖的方法
Mar 27 Python
Python实现的数据结构与算法之队列详解
Apr 22 Python
python通过get,post方式发送http请求和接收http响应的方法
May 26 Python
Python处理XML格式数据的方法详解
Mar 21 Python
Python用户推荐系统曼哈顿算法实现完整代码
Dec 01 Python
用python实现百度翻译的示例代码
Mar 09 Python
Django 浅谈根据配置生成SQL语句的问题
May 29 Python
Django框架多表查询实例分析
Jul 04 Python
Python爬虫之urllib基础用法教程
Oct 12 Python
python批量合成bilibili的m4s缓存文件为MP4格式 ver2.5
Dec 01 Python
利用python如何实现猫捉老鼠小游戏
Dec 04 Python
Python爬虫 简单介绍一下Xpath及使用
Apr 26 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和jquery实现地图区域数据统计展示数据示例
2014/02/12 PHP
ThinkPHP让分页保持搜索状态的方法
2014/07/02 PHP
php输入数据统一类实例
2015/02/23 PHP
php把数组值转换成键的方法
2015/07/13 PHP
详解WordPress中添加和执行动作的函数使用方法
2015/12/29 PHP
详解PHP swoole process的使用方法
2017/08/26 PHP
PHP根据key删除数组中指定的元素
2019/02/28 PHP
tp5框架的增删改查操作示例
2019/10/31 PHP
50个优秀经典PHP算法大集合 附源码
2020/08/26 PHP
JavaScript 保存数组到Cookie的代码
2010/04/14 Javascript
HTML DOM的nodeType值介绍
2011/03/31 Javascript
js中通过split函数分割字符串成数组小例子
2013/09/21 Javascript
JavaScript访问CSS属性的几种方式介绍
2014/07/21 Javascript
js星星评分效果
2014/07/24 Javascript
JS实现带有抽屉效果的产品类网站多级导航菜单代码
2015/09/15 Javascript
jQuery Ajax全解析
2017/02/13 Javascript
图文详解Javascript中的上下文和作用域
2017/02/15 Javascript
基于nodejs实现微信支付功能
2017/12/20 NodeJs
Vue项目报错:Uncaught SyntaxError: Unexpected token
2018/11/10 Javascript
搭建一个nodejs脚手架的方法步骤
2019/06/28 NodeJs
layui导出所有数据的例子
2019/09/10 Javascript
解决layui table表单提示数据接口请求异常的问题
2019/09/24 Javascript
NUXT SSR初级入门笔记(小结)
2019/12/16 Javascript
Nodejs + sequelize 实现增删改查操作
2020/11/07 NodeJs
分享Python字符串关键点
2015/12/13 Python
Python实现信用卡系统(支持购物、转账、存取钱)
2016/06/24 Python
在java中如何定义一个抽象属性示例详解
2017/08/18 Python
使用PyCharm进行远程开发和调试的实现
2019/11/04 Python
基于python3实现倒叙字符串
2020/02/18 Python
Python实现AI换脸功能
2020/04/10 Python
银行营业厅大堂经理岗位职责
2014/01/06 职场文书
公路施工安全责任书
2015/05/08 职场文书
小学感恩主题班会
2015/08/12 职场文书
导游词之安徽九华山
2019/09/18 职场文书
七个非常实用的Python工具包总结
2021/06/15 Python
Python使用海龟绘图实现贪吃蛇游戏
2021/06/18 Python