跟老齐学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实现定制交互式命令行的方法
Jul 03 Python
python在windows和linux下获得本机本地ip地址方法小结
Mar 20 Python
Python基于PycURL自动处理cookie的方法
Jul 25 Python
Python3字符串学习教程
Aug 20 Python
Python按行读取文件的简单实现方法
Jun 22 Python
python3设计模式之简单工厂模式
Oct 17 Python
将Dataframe数据转化为ndarry数据的方法
Jun 28 Python
python得到电脑的开机时间方法
Oct 15 Python
python实现旋转和水平翻转的方法
Oct 25 Python
django 通过url实现简单的权限控制的例子
Aug 16 Python
opencv+python实现鼠标点击图像,输出该点的RGB和HSV值
Jun 02 Python
python中threading和queue库实现多线程编程
Feb 06 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实现多条件查询实例代码
2010/07/17 PHP
PHP处理大量表单字段的便捷方法
2015/02/07 PHP
ThinkPHP和UCenter接口冲突的解决方法
2016/07/25 PHP
js实现权限树的更新权限时的全选全消功能
2009/02/17 Javascript
jQuery maxlength文本字数限制插件
2010/04/16 Javascript
JavaScript函数详解
2015/02/27 Javascript
javascript十六进制及二进制转化的方法
2015/05/06 Javascript
在Ubuntu系统上安装Ghost博客平台的教程
2015/06/17 Javascript
Bootstrap按钮组件详解
2016/04/26 Javascript
jQuery Easyui Treegrid实现显示checkbox功能
2017/08/08 jQuery
微信小程序学习笔记之获取位置信息操作图文详解
2019/03/29 Javascript
原生JS实现图片懒加载之页面性能优化
2019/04/26 Javascript
原生js实现自定义滚动条
2021/01/20 Javascript
js中实现继承的五种方法
2021/01/25 Javascript
python解析xml文件操作实例
2014/10/05 Python
Python实现的归并排序算法示例
2017/11/21 Python
Python xlwt设置excel单元格字体及格式
2020/04/18 Python
Python使用base64模块进行二进制数据编码详解
2018/01/11 Python
tf.truncated_normal与tf.random_normal的详细用法
2018/03/05 Python
python 编码规范整理
2018/05/05 Python
Python常用模块之requests模块用法分析
2019/05/15 Python
Python实现朴素贝叶斯的学习与分类过程解析
2019/08/24 Python
基于python的selenium两种文件上传操作实现详解
2019/09/19 Python
python的scipy实现插值的示例代码
2019/11/12 Python
Python实例方法、类方法、静态方法区别详解
2020/09/05 Python
Python解析m3u8拼接下载mp4视频文件的示例代码
2021/03/03 Python
CSS3 clip-path 用法介绍详解
2018/03/01 HTML / CSS
应届毕业生个人求职自荐信
2014/01/06 职场文书
公司中秋节活动方案
2014/02/12 职场文书
2014厂务公开实施方案
2014/02/17 职场文书
团员个人年度总结
2015/02/26 职场文书
硕士学位申请报告
2015/05/15 职场文书
党员证明信
2015/06/19 职场文书
护理工作心得体会
2016/01/22 职场文书
nginx从安装到配置详细说明(安装,安全配置,防盗链,动静分离,配置 HTTPS,性能优化)
2022/02/12 Servers
德劲DE1107指针试高灵敏度全波段收音机机评
2022/04/05 无线电