码迷,mamicode.com
首页 > 编程语言 > 详细

python小知识点

时间:2016-08-07 13:39:19      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:

 

问题:求列表中每个元素的元素次方之和
>>> a=[1,2,3,4]
>>> k=len(a)
第一种解法
#    s=0
#    for x in a:
#        s+=x**k
第二种解法
列表解析,每个元素的元素数次方
>>> [x**k for x in a]
[1, 16, 81, 256]

求列表元素之和
>>> sum([x**k for x in a])
354

 

水仙花数

一。先在python交互式中寻找算法
>>> 12345 %10
5
>>> 1234 %10
4
>>> 12345/10
1234
>>> 1234/10
123
>>>

>>> k=12345
>>> while k>0:
...     print k%10
...     k/=10
...
5
4
3
2
1

二。再在脚本中设计具体的实现,加判断,加循环,加输入与输出。
fgy@fgy-QTH6:~/Documents/python$ cat num.py def isA(n): a=[] t=n while t>0: a.append(t%10) t/=10 k=len(a) return sum(x**k for x in a)==n # s=0 # for x in a: # s+=x**k # return s==n begin=raw_input(please input start num: ) end=raw_input(please input end num: ) for x in range(int(begin),int(end)): if isA(x):print x

三。执行时验证。
fgy@fgy-QTH6:~/Documents/python$ python num.py
please input start num: 100
please input end num: 1000
153
370
371
407

 

python小知识点

标签:

原文地址:http://www.cnblogs.com/createyuan/p/5745932.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!