Python 3错误ValueError:无法将字符串转换为float:'0.89 * 10 **-5'吗?

时间:2018-12-28 17:50:54

标签: python numpy

我写了如下代码:

p=float(input('enter the particle density(g/cm3):'))
g=9.81#gravitation acceleration
pw=1           
dp=float(input('enter the diameter of particle in mm:'))
m=float(input('enter the viscocity of the fluid:'))
Vs=(g*(p-pw)*(dp*10**-3)**2)/(18*m)        
print("the settling velocity of the particle is"+str(Vs))

它需要从终端输入如下信息:

[Desktop]$ python3 settling_velocity.py 

enter the particle density(g/cm3):2
enter the diameter of the particle in mm:2
enter the viscosity of the fluid:0.89*10**-5

并使用python2.7产生一些结果,但是当我使用python3运行此代码时,它显示类似

的错误
Python 3 Error ValueError: could not convert string to float: '0.89*10**-5' ? 

我该如何解决,请帮忙。

谢谢

1 个答案:

答案 0 :(得分:3)

在Python 2中,$password = password_hash('password', PASSWORD_DEFAULT); 将响应评估为表达式。 Python 3取消了此操作,只返回了一个字符串。

您应该使用exponential notation来输入一个10乘幂的浮点数:

input()