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