Python的解释器将int理解为正无穷大,我不知道为什么。
解释器-Python 3.7ide(有任何意义吗?)-PyCharm社区19.2.2
import unittest
def reverse(value):
reversed_value = int(0)
while value > 0:
reversed_value = reversed_value * 10 + value % 10
value /= 10
return reversed_value
class TestEverything(unittest.TestCase):
def test_reverse(self):
self.assertEqual(reverse(0), 0)
self.assertEqual(reverse(121), 121)
嗯,它按计划与0一起工作,但是与121或其他任何正整数n我得到下一个:]
n != inf Expected :inf Actual :n
据我所知,reverse()正确,但是测试中有麻烦,我不知道如何解决。
Python的解释器将int理解为正无穷大,我不知道为什么。解释器-Python 3.7 ide(有什么意义吗?)-PyCharm社区19.2.2 import unittest def reverse(value):...
一旦使用/
,就使用浮点数,而不是整数。对于浮点数,value
会变得越来越小而不会达到零,因此,reversed_value
会越来越高,直到超过浮点数范围并赋予值inf
。