标签:python random printing division ironpython
我需要打印’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)
标签:python,random,printing,division,ironpython 来源: https://codeday.me/bug/20190713/1451450.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。