如何在Ironpython(Python.net)中“打印”分部的结果?

我需要打印’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)
上一篇:jzoj 6272. 2019.8.4【NOIP提高组A】整除 (division)


下一篇:如何通过Python中的for循环传递列表列表?