问题:求列表中每个元素的元素次方之和
>>> 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

找出不重复的三位数,下面这个程序使用了3重for循环,如果是4位,5位就不太适用了

num is : 986
num is : 987
count 648
fgy@fgy-QTH6:~/Documents/python$ cat num2.py
#encoding=utf-8
#a: 1-9
#b: 0-9
#c: 0-9 l=range(10)
count=0
for a in l[1:]:
for b in l:
if a==b:continue #过滤a!=b的情况
for c in l:
if c!=a and c!=b: #过滤b!=c,c!=a的情况,得到了互不相等的情况
print 'num is : %d%d%d' %(a,b,c)
count+=1
print 'count',count

python小知识点的更多相关文章

  1. python小知识点总结

    小知识点总结 1.python2和python3的区别   python2 python3 默认编码 ascii utf-8 input() raw_input() input() print 可以不 ...

  2. Python小知识点(3)--装饰器

    (1)装饰器含参数,被装饰函数不含(含)参数 实例代码如下: import time # 装饰器函数 def wrapper(func): def done(*args,**kwargs): star ...

  3. python小知识点随笔

    可能会有不局限于Python语言的内容,文中“>>>”表示结果,而不是命令行交互的提示符 1.关于字符串编码 ASCII编码 占用一个字节 二进制11111111=十进制255 所以 ...

  4. Python小知识点(5)--面向对象部分

    面向对象: 世间万物,皆可分类.--------------------手机<--------------某一个分类 世间万物,皆为对象.--------------------我的手机< ...

  5. Python 小知识点(7)--类的创建方式

    1. 创建类的第1方式(常用) class Foo(object): def func(self): print("Hello Foo") 2.创建类的第2方式 def func( ...

  6. Python小知识点(4)--模块相关

    1.模块: 定义:用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能),本质就是以.py结尾的python文件(文件名:test.py,对应的模块名:test). 包:用来从逻辑上组 ...

  7. Python小知识点(2)

    1.简述Python的运行过程 在说这个问题之前,我们先来说两个概念,PyCodeObject和pyc文件. 我们在硬盘上看到的pyc自然不必多说,而其实PyCodeObject则是Python编译器 ...

  8. Python 小知识点(1)

    1.Python命名规则------>下划线连接    girl_of_wfb="lgl" 2.常量-----名称全大写->WFB="WFaceBoss&qu ...

  9. Python小知识点+保留字

    注意 !/usr/bin/python # -- coding: UTF-8 -- #中文编码 Python空行:函数之间或类的方法之间用空行分隔,表示一段新的代码的开始 Python注释:单行注释采 ...

随机推荐

  1. Schedule 学习

    现在做的项目都有用到Schedule,现在用一点时间来总结. 一.首先要到Nuget中下载Quartz.net. 二.下载下来了,你需要对它进行配置,使它能给你正常的使用. 三.在Global.asa ...

  2. Apache多站点配置(ubuntu)

      1,先进入Apaches2的目录下 cd /etc/apache2   2,进入sites-available中 cd sites-available vi 000-default.conf   ...

  3. 什么是java?

    Java是一种软件技术  是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言  是一种为 Internet发展的计算机语言  是一种使网页(Web Page) ...

  4. sqlserverdriver配置方法 jdbc连接sqlserver

    一.下载驱动程序. 下载地址:http://download.microsoft.com/download/8/B/D/8BDABAE2-B6EA-41D4-B903-7916EF3690EF/sql ...

  5. C#窗体无法接受Keydown事件

    问题一描述:当新建一个窗体时,添加KeyDown事件后,会正常处理,但是当添加有控件时,比如Button,TextBox,不会触发窗体的KeyDown事件,也没有调用KeyDown事件的处理程序. 原 ...

  6. TabLayout和ViewPager联动时的问题及解决方案

    问题概述 TabLayout搭配ViewPager关联使用时,在未调用TabLayout的setupWithViewPager(mViewPager)方法之前,ViewPager的内容和TabLayo ...

  7. 胡说REST(REpresentational State Transfer)

    Roy T. Fielding的2000年在他的博士论文中提出REpresentational State Transfer这一软件架构风格,相比"表述性状态转移"等等类似的拗口的 ...

  8. 如何使用Charles抓包-- 入门篇

    下载地址 注意:首先需要下载java的运行环境支持(一般用burp的人肯定也都有装java环境).装好java环境后,可以直接去百度搜索并下载charles的破解版,下载到破解版之后,里面一般会有注册 ...

  9. C#求任意范围内的质数

    class Program { public static List<int> list; static void Main(string[] args) { Console.WriteL ...

  10. magento的url中 去掉多余的目录层级

    有时我们需要仅仅显示一层目录的URL路径.而不要出现多个路径的现实,我们可以用以下方法修改: Edit  /app/code/core/Mage/Catalog/Model/Url.php 找到632 ...