跟老齐学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打开网页和暂停实例
Sep 30 Python
Python制作简单的网页爬虫
Nov 22 Python
Python实现简单http服务器
Apr 12 Python
Python 3.7新功能之dataclass装饰器详解
Apr 21 Python
详解Python中的内建函数,可迭代对象,迭代器
Apr 29 Python
详解python实现小波变换的一个简单例子
Jul 18 Python
Python爬虫库BeautifulSoup获取对象(标签)名,属性,内容,注释
Jan 25 Python
Tensorflow矩阵运算实例(矩阵相乘,点乘,行/列累加)
Feb 05 Python
在tensorflow中设置使用某一块GPU、多GPU、CPU的操作
Feb 07 Python
Django自定义列表 models字段显示方式
Apr 03 Python
pycharm开发一个简单界面和通用mvc模板(操作方法图解)
May 27 Python
python三引号如何输入
Jul 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生成mysql的数据字典
2016/07/07 PHP
让whoops帮我们告别ThinkPHP6的异常页面
2020/03/02 PHP
指定位置如果有图片显示图片,无图片显示广告的JS
2010/06/05 Javascript
jQuery1.5.1 animate方法源码阅读
2011/04/05 Javascript
js控制的遮罩层实例介绍
2013/05/29 Javascript
javascript常用经典算法实例详解
2015/11/25 Javascript
vue实现简单实时汇率计算功能
2017/01/15 Javascript
详解weex默认webpack.config.js改造
2018/01/08 Javascript
如何在JavaScript中谨慎使用代码注释
2019/06/21 Javascript
vue3修改link标签默认icon无效问题详解
2019/10/09 Javascript
详解JavaScript修改注册表的方法
2020/01/05 Javascript
JavaScript中遍历的十种方法总结
2020/12/15 Javascript
[15:09]DOTA2国际邀请赛采访专栏:Loda
2013/08/06 DOTA
Python获取SQLite查询结果表列名的方法
2017/06/21 Python
scrapy爬虫完整实例
2018/01/25 Python
Python断言assert的用法代码解析
2018/02/03 Python
使用Fabric自动化部署Django项目的实现
2019/09/27 Python
python 如何对logging日志封装
2020/12/02 Python
html5+svg学习指南之SVG基础知识
2014/12/17 HTML / CSS
html table呈现个人简历以及单元格宽度失效的问题解决
2021/01/22 HTML / CSS
澳大利亚厨房和家用电器购物网站:Bing Lee
2021/01/11 全球购物
写好求职信第一句话的技巧
2013/10/26 职场文书
策划主管的工作职责
2013/11/24 职场文书
信电学院毕业生自荐书
2014/05/24 职场文书
纪念九一八事变演讲稿:牢记九一八,屈辱怎能忘
2014/09/14 职场文书
行政秘书工作自我鉴定
2014/09/15 职场文书
个人反四风对照检查材料思想汇报
2014/09/23 职场文书
反四风个人对照检查材料
2014/09/26 职场文书
工程催款通知书
2015/04/17 职场文书
2015年小学数学教研组工作总结
2015/05/21 职场文书
请病假条范文
2015/08/17 职场文书
Python+Appium新手教程
2021/04/17 Python
Python使用openpyxl批量处理数据
2021/06/23 Python
Python 详解通过Scrapy框架实现爬取百度新冠疫情数据流程
2021/11/11 Python
利用For循环遍历Python字典的三种方法实例
2022/03/25 Python
MySQL 计算连续登录天数
2022/05/11 MySQL