我需要打印’x / y’的结果,但它总是返回’0′.当我打印’x’时,它正确地告诉我,当我打印’y’时它正确告诉我但是当我打印’x / y’时它表示0.
这是我的代码:
import random
y = 0
x = 0
p = 1
while True:
i = [random.randint(1,100), random.randint(1,100), random.randint(1,100), random.randint(1,100), random.randint(1,100)]
if len(set(i)) < len(i):
print "Match!"
x += 1
y += 1
print(x/y)
else:
print "No Match!"
y += 1
print y
就像我说的那样,它应该打印得很好,但是在它需要打印x / y的事件中它打印0.我也尝试打印x / y并打印x // y但是它们也不起作用.
我究竟做错了什么?
提前致谢
解决方法:
如果x和y都是整数,Python总是进行整数除法.因此,如果结果是0.something,Python将显示0.
如果你想做浮动分区,你需要将它们转换为浮点数:
print float(x) / float(y)
或十进制对象:
from decimal import Decimal
print Decimal(x) / Decimal(y)