首页 > 解决方案 > 为什么python的算术总是为这个函数返回10?

问题描述

此代码的输出始终为 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"))

预先感谢您的回复。

标签: pythonmathnumericnumerical-methodspointer-arithmetic

解决方案


你并不总是得到10. 对于小数,您会得到一个 以外的值10.0001例如,尝试输入。

对于较大的 值t,表达式10**-(t/T)是如此之小以至于 Python 将其视为0。因此,对于足够大的 值,您有10*(1-0)或。 太大了,所以你会得到, 和任何比这更大的条目。,顺便说一句,给出了一个有趣的答案,输入一个大的负值会使程序崩溃并出现溢出错误。10t1101-1


推荐阅读