在python中反转一个数字以进行调试

2024-04-28 17:57:02 发布

您现在位置:Python中文网/ 问答频道 /正文

嗨,我有反转数字的代码,我是python的初学者?你知道吗

我不知道为什么不工作,谢谢你的帮助。你知道吗

class Solution(object):
    def revint(self, number):
        while(number>0):
            reverse=0
            reminder=0
            reverse=(reverse*10)+reminder
            number=number//10 
        return reverse
revint(123)

Tags: 代码selfnumberreturnobjectdef数字class
2条回答

你的第一个问题是:

revint(123)

没有revint函数可调用。您已经在Solution类上定义了一个revint方法。因此,您需要构造一个实例,以便调用其方法:

solution = Solution()
solution.revint(123)

您还需要对该方法的结果进行处理,而不是忽略它:

print(solution.revint(123))

下一步:

    while(number>0):
        reverse=0

每次通过循环都将reverse重置为0。所以,你加一个数字,然后扔掉它,从0开始,再加一个数字,依此类推。所以你只能得到最后一个数字。你知道吗

您只能在开始时将其设置为0一次:

    reverse=0
    while(number>0):

下一步:

    reminder = 0

显然,这应该是number除以10的余数。但如果你想这样,你必须这么说。或者:

    remainder = number % 10

……或者,与部门一起:

    number, remainder = divmod(number, 10)

你可以简单地:

def revint(number):
    return int(str(number)[::-1])

相关问题 更多 >