#两种方法:
#方法1: 自己构建一个f function 代码如下:
import math
def add(x, y, f):
return f(x) + f(y)
def f(c):
return c**0.5
print add(25, 9, f)
#方法2: 把import math 改为 from math import sqrt,就可以调用 sqrt,代码如下:
from math import sqrt
def add(x, y, f):
return f(x) + f(y)
print add(25, 9, sqrt)
#方法1: 自己构建一个f function 代码如下:
import math
def add(x, y, f):
return f(x) + f(y)
def f(c):
return c**0.5
print add(25, 9, f)
#方法2: 把import math 改为 from math import sqrt,就可以调用 sqrt,代码如下:
from math import sqrt
def add(x, y, f):
return f(x) + f(y)
print add(25, 9, sqrt)
2018-02-13
def cmp_ignore_case(s1, s2):
s1=s1.lower()
s2=s2.lower()
if s1>s2:
return 1
if s1<s2:
return -1
return 0
print sorted(['bob', 'about', 'Zoo', 'Credit'], cmp_ignore_case)
一开始出错我还以为是我代码打错了,结果检查之后发现是有一个s1>s2打成了s2>s2.。。。
引以为戒引以为戒,,,
s1=s1.lower()
s2=s2.lower()
if s1>s2:
return 1
if s1<s2:
return -1
return 0
print sorted(['bob', 'about', 'Zoo', 'Credit'], cmp_ignore_case)
一开始出错我还以为是我代码打错了,结果检查之后发现是有一个s1>s2打成了s2>s2.。。。
引以为戒引以为戒,,,
2018-02-12
import math
def kf(x):
return pow(x,0.5)
def is_sqr(x):
if kf(x)%1==0:
return x
我优化我优化。。。
def is_sqr(x):
if math.sqrt(x)%1==0:
return x
这样就完全ok了,%取余数,我们除1看看余数为零他就是整数了
def kf(x):
return pow(x,0.5)
def is_sqr(x):
if kf(x)%1==0:
return x
我优化我优化。。。
def is_sqr(x):
if math.sqrt(x)%1==0:
return x
这样就完全ok了,%取余数,我们除1看看余数为零他就是整数了
2018-02-12
又用了一个更简洁的方法,辗转相除法:
def __init__(self, p, q):
if p>q:
a,b = p,q
else:
a,b = q,p
while a%b != 0:
a,b = b,a%b
self.p = p/b
self.q = q/b
def __init__(self, p, q):
if p>q:
a,b = p,q
else:
a,b = q,p
while a%b != 0:
a,b = b,a%b
self.p = p/b
self.q = q/b
2018-02-12
def format_name(s):
return s.upper()[0]+s.lower()[1:]
print map(format_name, ['adam', 'LISA', 'barT'])
用两个函数一个是转大写的upper一个转小写的lower再加切片
return s.upper()[0]+s.lower()[1:]
print map(format_name, ['adam', 'LISA', 'barT'])
用两个函数一个是转大写的upper一个转小写的lower再加切片
2018-02-12
if p == q:
self.p = self.q = 1
if p>q:
min_num = q
else:
min_num = p
for i in range(min_num,1,-1):
if q % i == 0 and p % i == 0:
p = p/i
q = q/i
self.p = p
self.q = q
self.p = self.q = 1
if p>q:
min_num = q
else:
min_num = p
for i in range(min_num,1,-1):
if q % i == 0 and p % i == 0:
p = p/i
q = q/i
self.p = p
self.q = q
2018-02-12
最赞回答 / 慕标0217738
你在s.name = 'Tim'的时候其实是给s这个实例增加了name属性你可以在s.name = 'Tim'上面增加一个print s.name 看看,一定会报错s = Student('Bob', 'male', 59)print s.names.name = 'Tim's.score = 99print s.scoreTraceback (most recent call last): File "index.py", line 19, in print s.nameAttributeEr...
2018-02-12
我一瞬间甚至想写个开平方的函数再调用。。
print add(25, 9,math.sqrt)
可以直接定义一个开方函数,管他的呢
def kpf(x):
return pow(x,0.5)
下面f那再调用它
print add(25, 9,math.sqrt)
可以直接定义一个开方函数,管他的呢
def kpf(x):
return pow(x,0.5)
下面f那再调用它
2018-02-12
import time
def performance(f):
def fn(x):
print 'call ' + f.__name__ + '()in',time.asctime(time.localtime(time.time()))
return f(x)
return fn
@performance
def factorial(n):
return reduce(lambda x,y: x*y, range(1, n+1))
print factorial(10)
def performance(f):
def fn(x):
print 'call ' + f.__name__ + '()in',time.asctime(time.localtime(time.time()))
return f(x)
return fn
@performance
def factorial(n):
return reduce(lambda x,y: x*y, range(1, n+1))
print factorial(10)
2018-02-12
能想到的第一种方法,哈哈
import math
def is_sqr(x):
l=math.sqrt(x)
s=int(l)
return not l>s
print filter(is_sqr, range(1, 101))
import math
def is_sqr(x):
l=math.sqrt(x)
s=int(l)
return not l>s
print filter(is_sqr, range(1, 101))
2018-02-12
import json
class Student(object):
def read(self):
return r'["Tim", "Bob", "Alice"]'
s = Student()
print json.load(s)
class Student(object):
def read(self):
return r'["Tim", "Bob", "Alice"]'
s = Student()
print json.load(s)
2018-02-12
class Person(object):
__count = 0
def __init__(self, name):
self.name=name
Person.__count+=1
self.count=Person.__count
p1 = Person('Bob')
p2 = Person('Alice')
try:
print Person.__count
except:
print 'AttributeError'
print p1.count
print p2.count
__count = 0
def __init__(self, name):
self.name=name
Person.__count+=1
self.count=Person.__count
p1 = Person('Bob')
p2 = Person('Alice')
try:
print Person.__count
except:
print 'AttributeError'
print p1.count
print p2.count
2018-02-11