为什么python的算法总是为这个函数返回10?
此代码的输出始终为10。我做错什么了吗?我还需要“Vc”的负有理指数方程的帮助 设R=10000,C=1e-6,Vs=10为什么python的算法总是为这个函数返回10?,python,math,numeric,numerical-methods,pointer-arithmetic,Python,Math,Numeric,Numerical Methods,Pointer Arithmetic,此代码的输出始终为10。我做错什么了吗?我还需要“Vc”的负有理指数方程的帮助 设R=10000,C=1e-6,Vs=10 R= 10000 C= 10**-6 Vs= 10 T= float(R*C) t= float(input("Enter the value of t:")) Vc=Vs*(1-(10**-(t/T))) print(format(Vc,".5f")) 提前感谢您的回复。您并不总能收到10
R= 10000
C= 10**-6
Vs= 10
T= float(R*C)
t= float(input("Enter the value of t:"))
Vc=Vs*(1-(10**-(t/T)))
print(format(Vc,".5f"))
提前感谢您的回复。您并不总能收到
10
。对于较小的数字,您会得到一个非10
的值。例如,尝试输入.0001
对于较大的
t
,表达式10**-(t/t)
是一个非常小的数字,Python将其视为0
。因此您有10*(1-0)
,或10
,以获得足够大的t
值1
太大,因此如果输入1
,则会得到10
,以及任何大于该值的值<代码>-1,顺便说一句,给出了一个有趣的答案,输入一个大的负值会导致程序崩溃并出现溢出错误。好吧,当t
大于1时,它将始终打印10。因为T
是0.01
并且如果您提供的T
大于1,则您的代码正在协商1-(10**-(T/T))
到1
- 让我们
然后t=1
和t/t=100
so10**-100=0
Vs*(1-0)=10
- 如果将
增加到另一个大整数,它将始终为10t=1
t
一个很小的数字,那么您将看到输出变化
我假设t为0.00001234
。现在您的输出是0.02837357076786451
。所以,您应该将t作为最小值来更改输出10