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

    反射 //反射查找对象方法所在的文件名.$n_func = new ReflectionMethod($obj,$function);$filepath = $n_func->getFileNa ...

  2. Enterprise Architect 学习 之 活动图

    UML中,活动图用来展示活动的顺序.显示了从起始点到终点的工作流,描述了活动图中存在于事件进程的判断路径.活动图可以用来详细阐述某些活动执行中发生并行处理的情况.活动图对业务建模也比较有用,用来详细描 ...

  3. android系统自带的日期、时间对话框的用法

    代码: package com.test; import java.util.Calendar; import android.app.Activity; import android.app.Dat ...

  4. 在win7环境下安装python2.6.6

    Python2.x与3.x语法并不相同,这里装的是2.6.6的版本. 1.下载Python2.6.6: https://www.python.org/downloads/ 根据自身计算机的特点选择Py ...

  5. java集合类的学习(二)

    ArrayList,LinkedList,Vector都是List的实现类,前两都没有实现同步机制,Vector实现了同步机制.他们代码类似. ArrayList代表大小可变的数组,允许对元素进行快速 ...

  6. elasticsearch-PHP第一天

    遇到很大的问题就是,给边做边找原因,看官方文档,全英文看不懂.只能慢慢一步一步去做.   性子太急,真的不行,跨越性太大,卡一个小时多,才发现,连安装都没搞明白.   首先需要一个JAVA环境,上百度 ...

  7. ubuntu下安装配置OpenCV

    Cmake的安装 我用的是ubuntu-software自动下载安装的. Ubuntu 下安装 OpenCV 首先下载安装相关包,然后下载OpenCV 系统:ubuntu16.04 OpenCV:2. ...

  8. PHP中"->"和"=>"的区别

    =>不是运算符,这个是数组特有的指针符号..是定义数组时做键.值映射用的.foreach($_POST AS $key=>$value){...}遍历数组的时候,就是将$_POST数组的键 ...

  9. php语言的几种循环语句的使用格式,及其区别

    while 只要指定的条件成立,则循环执行代码块 do...while 首先执行一次代码块,然后在指定的条件成立时重复这个循环 for 循环执行代码块指定的次数 foreach 根据数组中每个元素来循 ...

  10. iOS--时间类date详解

    NSDate定义时间的类 NSDate是一个时间类,在编写程序时,我们很少遇到.今天我突然碰到,感觉很生疏. 给大家发个博客,让大家也都温习一下,哈哈! 兄弟用的时候突然发现竟然有一些bug,大家用时 ...