小编Den*_*neb的帖子

我如何用Python编写这个等式?

卡尔达诺三胞胎

我真的不知道怎么写这个.这是我尝试的方式:

def is_cardano_triplet(a, b, c):
    f = lambda x: x ** 1. / 2
    g = lambda x: x ** 1. / 3
    return g(a + b*f(c)) + g(a - b*f(c)) == 1

print is_cardano_triplet(2,1,5) # I should get True
Run Code Online (Sandbox Code Playgroud)

我应该得到True2, 1, 5,但我不是.我的功能出了什么问题?

python python-2.7

5
推荐指数
1
解决办法
4939
查看次数

如何在我的函数中替换`eval`?

我非常清楚,eval在Python中使用它并不是一个好习惯.这是我的代码:

from hashlib import * # added for clarification
def get_hash(self):
        if self.hash_type in ['md5', 'sha1', 'sha224', 'sha256', 'sha384', 'sha512']:
            data = eval(self.hash_type) # <--- how can I replace this?
Run Code Online (Sandbox Code Playgroud)

我听说过这个setattr功能,但老实说我不知道​​如何实现它.

是否也可以通过使用该map功能来做到这一点?

请注意,'md5', 'sha1', 'sha224'etc等是局部变量.当我eval在其中一个上使用该功能时,它们就变成了功能.

python eval map setattr

1
推荐指数
1
解决办法
1425
查看次数

标签 统计

python ×2

eval ×1

map ×1

python-2.7 ×1

setattr ×1