跟老齐学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 max内置函数详细介绍
Nov 17 Python
python 简单的绘图工具turtle使用详解
Jun 21 Python
python利用rsa库做公钥解密的方法教程
Dec 10 Python
用python制作游戏外挂
Jan 04 Python
Python3爬虫之urllib携带cookie爬取网页的方法
Dec 28 Python
Python基于Logistic回归建模计算某银行在降低贷款拖欠率的数据示例
Jan 23 Python
Python3 修改默认环境的方法
Feb 16 Python
python定时按日期备份MySQL数据并压缩
Apr 19 Python
django foreignkey(外键)的实现
Jul 29 Python
Pycharm+django2.2+python3.6+MySQL实现简单的考试报名系统
Sep 05 Python
tensorflow 实现打印pb模型的所有节点
Jan 23 Python
详解Python中pyautogui库的最全使用方法
Apr 01 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
Windows下IIS6/Apache2.2.4+MySQL5.2+PHP5.2.1安装配置方法
2007/05/03 PHP
php 设计模式之 单例模式
2008/12/19 PHP
php 静态化实现代码
2009/03/20 PHP
解决jquery的.animate()函数在IE6下的问题
2010/12/03 Javascript
JavaScript var声明变量背后的原理示例解析
2013/10/12 Javascript
JS嵌套函数调用上下文的问题解决
2014/03/26 Javascript
nodejs实现黑名单中间件设计
2014/06/17 NodeJs
node.js中的fs.readSync方法使用说明
2014/12/17 Javascript
javascript动态创建链接的方法
2015/05/13 Javascript
基于HTML模板和JSON数据的JavaScript交互(移动端)
2016/04/06 Javascript
jQuery获取当前点击的对象元素(实现代码)
2016/05/19 Javascript
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
2016/12/14 Javascript
原生JS实现图片轮播切换效果
2016/12/15 Javascript
jquery封装插件时匿名函数形参和实参的写法解释
2017/02/14 Javascript
自制简易打赏功能的实例
2017/09/02 Javascript
vue实现百度搜索功能
2020/12/28 Javascript
vue移动端弹起蒙层滑动禁止底部滑动操作
2020/07/22 Javascript
Python psutil模块简单使用实例
2015/04/28 Python
在Python程序中操作文件之flush()方法的使用教程
2015/05/24 Python
Python3之读取连接过的网络并定位的方法
2018/04/22 Python
Python查找数组中数值和下标相等的元素示例【二分查找】
2019/02/13 Python
Python hexstring-list-str之间的转换方法
2019/06/12 Python
Python 类方法和实例方法(@classmethod),静态方法(@staticmethod)原理与用法分析
2019/09/20 Python
python读取图片的几种方式及图像宽和高的存储顺序
2020/02/11 Python
使用pycharm和pylint检查python代码规范操作
2020/06/09 Python
Python数据相关系数矩阵和热力图轻松实现教程
2020/06/16 Python
django form和field具体方法和属性说明
2020/07/09 Python
HTML+CSS3+JS 实现的下拉菜单
2020/11/25 HTML / CSS
TripAdvisor德国:全球领先的旅游网站
2017/12/07 全球购物
玛蒂尔达简服装:Matilda Jane Clothing
2019/02/13 全球购物
英国领先的在线高尔夫设备零售商:Golfgeardirect
2020/12/11 全球购物
The North Face意大利官网:服装、背包和鞋子
2020/06/17 全球购物
婚前协议书范本
2014/04/15 职场文书
优秀护士先进事迹
2014/05/08 职场文书
工商行政管理专业求职书
2014/05/23 职场文书
Window server 2012 R2 AD域的组策略相关设置
2022/04/28 Servers