Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将函数的输出传递给sigmoid';s函数?_Python_Sigmoid - Fatal编程技术网

Python 如何将函数的输出传递给sigmoid';s函数?

Python 如何将函数的输出传递给sigmoid';s函数?,python,sigmoid,Python,Sigmoid,我正在尝试编写一个使用四舍五入到小数点后五位(2.71828)的欧拉数的s形函数 以下是我得到的: 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) 当我运行代码时,我得到: TypeError:不支持

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

以下是我得到的:

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)
当我运行代码时,我得到: TypeError:不支持**或pow()的操作数类型:'str'和'float'

第一个函数返回四舍五入的e,当我分别测试这两个函数时(做了一些更改),它们都工作了。但我不知道如何把它们绑在一起


新的编码,请帮助

正如C.Nivis正确地说的,
e_with_precision
返回一个字符串(单词/句子),但是python不能使用这种数据类型进行计算。它必须是一个浮点(浮点数)。你可以用

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

而且它应该可以工作。

e\u with_precision
返回一个
str
,您正在使用
**
float
。您所做的哪些更改使其工作?当我使用return1/(1+e**x)时,sigmoid函数自行工作。当我将值“e”替换为四舍五入的“e_with_precision”(精度为n)时,则不是。从数学导入e def e_with_precision(n):返回四舍五入(n,e)def sigmoid(x):返回1/(1+四舍五入)**x)打印(sigmoid(0.5))