所以我有这个:
import random
rand=random.random()
print rand
inp = raw_input("Enter your guess: ")
print float(inp)
try:
if float(inp)==rand:
print "equal"
else:
print "not equal"
except:
print "error"
然而它说它并不平等。我知道这是由于浮点不准确,但我怎么能作为用户输入相同的东西呢?
答案 0 :(得分:4)
因为你在浮动上使用print
,所以它显示在一个更漂亮的"省略一些小数位的格式。您可以print repr(rand)
显示所有数字:
>>> rand = random.random()
>>> print rand
0.004312203809
>>> print repr(rand)
0.004312203809001436
如果您使用后一种形式,然后键入所有这些数字,您可以让它识别浮动相等。
答案 1 :(得分:0)
即使您可以使用 repr 属性
import random
rand=random.random()
print rand.__repr__()
inp = raw_input("Enter your guess: ")
print float(inp).__repr__()
try:
if float(inp)==rand:
print "equal"
else:
print "not equal"
except:
print "error"