为什么整数被视为正无穷大?

问题描述 投票:1回答:1

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):...

python python-3.x pycharm
1个回答
0
投票

一旦使用/,就使用浮点数,而不是整数。对于浮点数,value会变得越来越小而不会达到零,因此,reversed_value会越来越高,直到超过浮点数范围并赋予值inf

© www.soinside.com 2019 - 2024. All rights reserved.