跟老齐学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 网络设备巡检脚本的实例讲解
Apr 22 Python
python GUI实现小球满屏乱跑效果
May 09 Python
Python 虚拟空间的使用代码详解
Jun 10 Python
使用python制作一个为hex文件增加版本号的脚本实例
Jun 12 Python
python实现批量修改服务器密码的方法
Aug 13 Python
python excel转换csv代码实例
Aug 26 Python
keras获得model中某一层的某一个Tensor的输出维度教程
Jan 24 Python
Python 实现加密过的PDF文件转WORD格式
Feb 04 Python
TensorFlow keras卷积神经网络 添加L2正则化方式
May 22 Python
Python unittest单元测试openpyxl实现过程解析
May 27 Python
python使用自定义钉钉机器人的示例代码
Jun 24 Python
Python pyecharts绘制条形图详解
Apr 02 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
实现dedecms全站URL静态化改造的代码
2007/03/29 PHP
用PHP获取Google AJAX Search API 数据的代码
2010/03/12 PHP
PHP 异步执行方法,模拟多线程的应用分析
2013/06/03 PHP
PHP新建类问题分析及解决思路
2015/11/19 PHP
PHP基于方差和标准差计算学生成绩的稳定性示例
2017/07/04 PHP
PHP join()函数用法与实例讲解
2019/03/11 PHP
nicejforms——美化表单不用愁
2007/02/20 Javascript
js模仿php中strtotime()与date()函数实现方法
2015/08/11 Javascript
详解bootstrap的modal-remote两种加载方式【强化】
2017/01/27 Javascript
浅谈super-vuex使用体验
2018/06/25 Javascript
vue+element的表格实现批量删除功能示例代码
2018/08/17 Javascript
JavaScript类的继承操作实例总结
2018/12/20 Javascript
在Vue中使用icon 字体图标的方法
2019/06/14 Javascript
js实现数据导出为EXCEL(支持大量数据导出)
2020/03/31 Javascript
js实现省级联动(数据结构优化)
2020/07/17 Javascript
python的urllib模块显示下载进度示例
2014/01/17 Python
Python的Flask框架中配置多个子域名的方法讲解
2016/06/07 Python
python利用rsa库做公钥解密的方法教程
2017/12/10 Python
Python实现的简单线性回归算法实例分析
2018/12/26 Python
PyQt5下拉式复选框QComboCheckBox的实例
2019/06/25 Python
bluepy 一款python封装的BLE利器简单介绍
2019/06/25 Python
python 模拟创建seafile 目录操作示例
2019/09/26 Python
使用python实现多维数据降维操作
2020/02/24 Python
Python判断变量是否是None写法代码实例
2020/10/09 Python
加拿大领先的冒险和户外零售商:Atmosphere
2017/12/19 全球购物
英国时尚女装购物网站:Missguided
2018/08/23 全球购物
Tom Dixon官网:英国照明及家具设计和制造公司
2019/03/01 全球购物
工程监理应届生求职信
2013/11/09 职场文书
电话销售经理岗位职责
2013/12/07 职场文书
黄河象教学反思
2014/02/10 职场文书
《一件运动衫》教学反思
2014/02/19 职场文书
幼儿园校车安全责任书
2015/05/08 职场文书
共青团优秀团员申请书(范文)
2019/08/15 职场文书
彻底理解golang中什么是nil
2021/04/29 Golang
win11开机发生死循环重启怎么办?win11开机发生死循环重启解决方法
2022/08/05 数码科技
Win10开机修复磁盘错误怎么跳过?Win10关闭开机磁盘检查的方法
2022/09/23 数码科技