4

我在 python 中的数学有一个小问题。所以我有一些变量xyanswer

>>>x = 20
>>>y = 21
>>>answer = x / y * 100
>>>answer
0

所以它打印出空值。好的,我知道它打印出 null 因为我必须打印x = 20.0而不是 print x = 20

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

95.2380952381

我怎样才能做到这一点?

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

而且我也尝试过这样做:

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

但是Python给了我一个错误:

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

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

4

4 回答 4

2

Use from __future__ import division to make all division float division.

Alternatively, use float() instead of int() to interpret a string as a floating point number instead:

answer = float(x) / y * 100
于 2013-07-19T20:33:26.947 回答
0

只需使用

>>> answer = float(x) / y * 100
于 2013-07-19T20:34:05.563 回答
0

使用float(x)/y*100而不是int()

但这只会修复错误,但是您尝试实现的目标可以通过这种方式完成
answer = x/y*100.

于 2013-07-19T20:35:07.483 回答
0

Python 认为你在做整数除法(因为x,y是整数)。要解决此问题,您可以使用float()将其中之一转换为xy浮动。:

answer = float(x) / y * 100
于 2013-07-19T20:35:36.420 回答