资讯专栏INFORMATION COLUMN

[零基础学python]画圈还不简单吗?

ccj659 / 2445人阅读

摘要:画圈换一个说法就是循环。就相当于让依次等于中的各个值。例找出以内的能够被整除的正整数。以上做了简单分析,要实现流程,还需要细化一下。代码代码运行结果这里仅仅列举一个简单的例子,看官可以在这个例子基础上深入打印某范围内的偶数奇数等。

画圈?换一个说法就是循环。循环,是高级语言编程中重要的工作。现实生活中,很多事情都是在循环,日月更迭,斗转星移,无不是循环;王朝更迭,寻常百姓,也都是循环。

在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循环。

以上做了简单分析,要实现流程,还需要细化一下。按照前面曾经讲授过的一种方法,要画出问题解决的流程图。

下面写代码就是按图索骥了。

代码:

#! /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]

这里仅仅列举一个简单的例子,看官可以在这个例子基础上深入:打印某范围内的偶数/奇数等。

如果要对list的循环进行深入了解的,可以到我专门撰写的python and algorithm里面阅读有关文章

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/45289.html

相关文章

  • [基础Python]再深点,更懂list

    摘要:有的前面有空格,有的后面有空格去掉元素前后的空格这是一个有意思的内置函数,本来我们可以通过的方式得到一个的每个元素编号,然后在用的方式得到该元素。 对于list,由于她的确非常非常庞杂,在python中应用非常广泛,所以,虽然已经介绍完毕了基础内容,这里还要用一讲深入一点点,往往越深入越... list解析 先看下面的例子,这个例子是想得到1到9的每个整数的平方,并且将结果放在li...

    mdluo 评论0 收藏0
  • [基础python]玩转字符串(1)

    摘要:操练一下字符串吧。它是在告诉计算机,它里面包裹着的是一个字符串。连接字符串方法在中按照下面方法操作老齐教老齐教这是一种最简单连接两个字符串的方法。请看官字符编码就知道了。 如果对自然语言分类,有很多中分法,比如英语、法语、汉语等,这种分法是最常见的。在语言学里面,也有对语言的分类方法,比如什么什么语系之类的。我这里提出一种分法,这种分法尚未得到广大人民群众和研究者的广泛认同,但是,我相...

    eechen 评论0 收藏0
  • [基础python]永远强大的函数

    摘要:莱布尼兹所指的函数现在被称作可导函数,数学家之外的普通人一般接触到的函数即属此类。中文的函数一词由清朝数学家李善兰译出。前面提供的维基百科中的函数词条,里面可以做一个概览。 函数,对于人类来讲,能够发展到这个数学思维层次,是一个飞跃。可以说,它的提出,直接加快了现代科技和社会的发展,不论是现代的任何科技门类,乃至于经济学、政治学、社会学等,都已经普遍使用函数。 下面一段来自维基百科(...

    cangck_X 评论0 收藏0
  • 我是如何基础转行人工智能的(附十问十答)

    摘要:我的决定是学人工智能,当时对这个比较感兴趣。从机器学习学到深度学习再学回机器学习。面试,成功地去公司从事机器学习深度学习方面的基础工作。这个系列不仅仅以学习为目的,目的是为了达到机器学习的工作入门标准。 每个字都是经验所得,都是站在一个零基础的人的角度写的,纯手打+网上优秀资源整合,希望大家能每个字都认真看。 接下来文章会侧重在以下几方面 1、零基础如何进行人工智能的自学(以找工作为目...

    IamDLY 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<