反转python中的数字以查找调试信息

时间:2018-07-26 18:26:49

标签: python reverse

您好,我有用于反转数字的代码,我是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)

3 个答案:

答案 0 :(得分:2)

您可以简单地:

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

答案 1 :(得分:1)

您的第一个问题在这里:

revint(123)

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

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)

答案 2 :(得分:0)

您已在side while循环中启动了变量 reverse = 0 , 因此该变量无法返回语句。

def reverse_a_number(number: int) -> int:
    reverse = 0
    while number > 0:
        remainder = number % 10
        reverse = (reverse * 10) + remainder
        number = number // 10
    return reverse



rev = reverse_a_number(123456)
print(rev)

输出:

654321