python小知识点
问题:求列表中每个元素的元素次方之和
>>> 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小知识点的更多相关文章
- python小知识点总结
小知识点总结 1.python2和python3的区别 python2 python3 默认编码 ascii utf-8 input() raw_input() input() print 可以不 ...
- Python小知识点(3)--装饰器
(1)装饰器含参数,被装饰函数不含(含)参数 实例代码如下: import time # 装饰器函数 def wrapper(func): def done(*args,**kwargs): star ...
- python小知识点随笔
可能会有不局限于Python语言的内容,文中“>>>”表示结果,而不是命令行交互的提示符 1.关于字符串编码 ASCII编码 占用一个字节 二进制11111111=十进制255 所以 ...
- Python小知识点(5)--面向对象部分
面向对象: 世间万物,皆可分类.--------------------手机<--------------某一个分类 世间万物,皆为对象.--------------------我的手机< ...
- Python 小知识点(7)--类的创建方式
1. 创建类的第1方式(常用) class Foo(object): def func(self): print("Hello Foo") 2.创建类的第2方式 def func( ...
- Python小知识点(4)--模块相关
1.模块: 定义:用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能),本质就是以.py结尾的python文件(文件名:test.py,对应的模块名:test). 包:用来从逻辑上组 ...
- Python小知识点(2)
1.简述Python的运行过程 在说这个问题之前,我们先来说两个概念,PyCodeObject和pyc文件. 我们在硬盘上看到的pyc自然不必多说,而其实PyCodeObject则是Python编译器 ...
- Python 小知识点(1)
1.Python命名规则------>下划线连接 girl_of_wfb="lgl" 2.常量-----名称全大写->WFB="WFaceBoss&qu ...
- Python小知识点+保留字
注意 !/usr/bin/python # -- coding: UTF-8 -- #中文编码 Python空行:函数之间或类的方法之间用空行分隔,表示一段新的代码的开始 Python注释:单行注释采 ...
随机推荐
- Schedule 学习
现在做的项目都有用到Schedule,现在用一点时间来总结. 一.首先要到Nuget中下载Quartz.net. 二.下载下来了,你需要对它进行配置,使它能给你正常的使用. 三.在Global.asa ...
- Apache多站点配置(ubuntu)
1,先进入Apaches2的目录下 cd /etc/apache2 2,进入sites-available中 cd sites-available vi 000-default.conf ...
- 什么是java?
Java是一种软件技术 是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言 是一种为 Internet发展的计算机语言 是一种使网页(Web Page) ...
- sqlserverdriver配置方法 jdbc连接sqlserver
一.下载驱动程序. 下载地址:http://download.microsoft.com/download/8/B/D/8BDABAE2-B6EA-41D4-B903-7916EF3690EF/sql ...
- C#窗体无法接受Keydown事件
问题一描述:当新建一个窗体时,添加KeyDown事件后,会正常处理,但是当添加有控件时,比如Button,TextBox,不会触发窗体的KeyDown事件,也没有调用KeyDown事件的处理程序. 原 ...
- TabLayout和ViewPager联动时的问题及解决方案
问题概述 TabLayout搭配ViewPager关联使用时,在未调用TabLayout的setupWithViewPager(mViewPager)方法之前,ViewPager的内容和TabLayo ...
- 胡说REST(REpresentational State Transfer)
Roy T. Fielding的2000年在他的博士论文中提出REpresentational State Transfer这一软件架构风格,相比"表述性状态转移"等等类似的拗口的 ...
- 如何使用Charles抓包-- 入门篇
下载地址 注意:首先需要下载java的运行环境支持(一般用burp的人肯定也都有装java环境).装好java环境后,可以直接去百度搜索并下载charles的破解版,下载到破解版之后,里面一般会有注册 ...
- C#求任意范围内的质数
class Program { public static List<int> list; static void Main(string[] args) { Console.WriteL ...
- magento的url中 去掉多余的目录层级
有时我们需要仅仅显示一层目录的URL路径.而不要出现多个路径的现实,我们可以用以下方法修改: Edit /app/code/core/Mage/Catalog/Model/Url.php 找到632 ...