跟老齐学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判断操作系统类型代码分享
Nov 22 Python
python使用PyGame模块播放声音的方法
May 20 Python
Python图形绘制操作之正弦曲线实现方法分析
Dec 25 Python
Python实现Selenium自动化Page模式
Jul 14 Python
用Pytorch训练CNN(数据集MNIST,使用GPU的方法)
Aug 19 Python
linux下python中文乱码解决方案详解
Aug 28 Python
pytorch实现保证每次运行使用的随机数都相同
Feb 20 Python
解决Python pip 自动更新升级失败的问题
Feb 21 Python
推荐8款常用的Python GUI图形界面开发框架
Feb 23 Python
Django模型中字段属性choice使用说明
Mar 30 Python
解决tensorflow/keras时出现数组维度不匹配问题
Jun 29 Python
keras topN显示,自编写代码案例
Jul 03 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 split汉字
2009/06/05 PHP
PHP查看当前变量类型的方法
2015/07/31 PHP
wampserver改变默认网站目录的办法
2015/08/05 PHP
实现PHP框架系列文章(6)mysql数据库方法
2016/03/04 PHP
php获取ajax的headers方法与内容实例
2017/12/27 PHP
初学Javascript的一些总结
2008/11/03 Javascript
JavaScript 申明函数的三种方法 每个函数就是一个对象(一)
2009/12/04 Javascript
jquery each()源代码
2011/02/14 Javascript
jquery实现隐藏与显示动画效果/输入框字符动态递减/导航按钮切换
2013/07/01 Javascript
JS关闭窗口与JS关闭页面的几种方法小结
2013/12/17 Javascript
js判断滚动条是否已到页面最底部或顶部实例
2014/11/20 Javascript
jQuery实现Meizu魅族官方网站的导航菜单效果
2015/09/14 Javascript
angularjs实现的前端分页控件示例
2017/02/10 Javascript
vue使用swiper实现中间大两边小的轮播图效果
2019/11/24 Javascript
vue中配置scss全局变量的步骤
2020/12/28 Vue.js
mapboxgl实现带箭头轨迹线的代码
2021/01/04 Javascript
为什么入门大数据选择Python而不是Java?
2018/03/07 Python
tensorflow学习笔记之简单的神经网络训练和测试
2018/04/15 Python
Python 实现删除某路径下文件及文件夹的实例讲解
2018/04/24 Python
python3+selenium自动化测试框架详解
2019/03/17 Python
简单了解python中的与或非运算
2019/09/18 Python
tensorflow之tf.record实现存浮点数数组
2020/02/17 Python
pytorch 中的重要模块化接口nn.Module的使用
2020/04/02 Python
Python操作Jira库常用方法解析
2020/04/10 Python
HTML5的自定义属性data-*详细介绍和JS操作实例
2014/04/10 HTML / CSS
VICHY薇姿美国官方网站:欧洲药房第一的抗衰老品牌
2017/11/22 全球购物
公司清洁工岗位职责
2013/12/14 职场文书
中青班党性分析材料
2014/02/16 职场文书
4s店活动策划方案
2014/08/25 职场文书
教师个人发展总结
2015/02/11 职场文书
财政局个人年终总结
2015/03/03 职场文书
学会感恩主题班会
2015/08/12 职场文书
2019年让高校“心动”的自荐信
2019/03/25 职场文书
python双向链表实例详解
2022/05/25 Python
Go本地测试解耦任务拆解及沟通详解Go本地测试的思路沟通的重要性总结
2022/06/21 Golang
Navicat Premium自定义 sql 标签的创建方式
2022/09/23 数据库