我只是在计算时间/速度/距离的个人项目中工作。但是我的程序遇到了问题,当我输入说36的覆盖公里数和100 km / h的速度时,该程序应该给我回21.6分钟的结果,但是却给了我0分钟的时间。
但是,当我输入36.0和100时,该程序可以完美地实现我想要的功能。为什么当我输入小数点来覆盖公里数时可以正常工作,但输入整数却不能正确计算出为什么。
有兴趣了解问题可能出在哪里,这是我的代码顺序吗?也许,将变量设置为浮点数或类似的方法可能会解决?不确定问题出在哪儿,因为它发生在诸如确定数字为十进制之类的特定事物上。您仍然可以从我的代码中得知仍在学习Python。
提前感谢你的帮助。
代码如下;
print('Welcome to my calculator')
d = float(input('How many kms do you want to cover? '))
s = float(input('How fast will you be travelling (km/h)? '))
t = d/s
if t < 1:
t = t * 60
print('You will reach your destination in ') + str(t) + (' minutes.')
else:
print('You will reach your destination in ') + str(t) + (' hours.')
我猜你的问题是整数除法。您可以通过更改t = d/s
为来修复它t = float(d)/s
。
>>> 2/5
0
>>> float(2)/5
0.4
此问题已在Python 3中解决。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句