如何将函数的输出传递给 sigmoid 的函数?

时间:2021-05-03 06:32:21

标签: python sigmoid

我正在尝试编写一个使用欧拉数四舍五入到小数点后第 5 位 (2.71828) 的 sigmoid 函数

这是我得到的:

from math import e

def e_with_precision(n):
return '%.*f' % (n, e)
print (e_with_precision(5))

def sigmoid(x):
return 1 / (1 + e_with_precision(5)**x)

print(sigmoid(0.5)

当我运行代码时,我得到: 类型错误:不支持 ** 或 pow() 的操作数类型:'str' 和 'float'

第一个函数返回四舍五入的 e,当我分别测试这两个函数(有一些变化)时,它们都可以工作。但我不知道如何正确地将它们联系在一起。

编码新手,请帮忙!

1 个答案:

答案 0 :(得分:1)

正如 C.Nivis 所说的那样,e_with_precision 返回一个字符串(单词/句子),但是 python 无法使用这种数据类型进行计算。它需要是一个浮点数(浮点数)。你可以使用

def e_with_precision(n):
    return round(e, n) # rounds e to n digits

它应该可以工作。

相关问题