-1

我有几个变量xyresult

>>>x = 40
>>>y = 45
>>>result = x / y * 100
>>>result
0

所以result == 0。我知道result == 0,因为我不得不打印x = 40.0而不是打印x = 40

但无论如何我需要它打印出来:

88.88888888888889

我怎样才能做到这一点?

注意:我不能只写x = 40.0吗?

而且我也尝试过这样做:

x1 = str(x) + '.0'
result = int(x1) / y * 100

但是Python给了我一个错误:

ValueError: invalid literal for int() with base 10: '40.0'

那么我该如何解决这个问题呢?

4

1 回答 1

1
>>> from __future__ import division
>>> x = 40
>>> y = 45
>>> result = x / y * 100
>>> result
88.88888888888889

在 Python 2.7 中,/使用整数参数执行整数除法。您可以将其更改为使用标准除法和导入,如图所示。

或者(如果您不希望/以这种方式更改 的行为),您可以将除法参数之一设为 float: float(x) / y * 100

于 2013-08-02T17:28:29.683 回答