整数取出每位数字_Python反转三位整数有几种方法?

0c34a99a8833cc4abe46faff3ad7b199.gif

公众号新增加了一个栏目,就是每天给大家解答一道Python常见的面试题,反正每天不贪多,一天一题,正好合适,只希望这个面试栏目,给那些正在准备面试的同学,提供一点点帮助!

小猿会从最基础的面试题开始,每天一题。如果参考答案不够好,或者有错误的话,麻烦大家可以在留言区给出自己的意见和讨论,大家是要一起学习的 。

废话不多说,开始今天的题目:

问:说说Python反转三位整数有几种方法?

答:这是leetcode上的一道编程算法题,感觉还是蛮经典的,今天就拿出来给大家分享一下!给出一个3位的正整数,你需要将这个整数中每位上的数字进行反转。例如:输入: 123,输出: 321 。大家先不看下面答案,看看如果是自己,可以想出几种Python方式来解决!

下面分别来说说几种实现的方式:

1、取余取整方式

class Test:
    def reverseInteger(self, number):
        g = number%10         #取出个位数
        s = (int(number/10))%10   #取出十位数b = int(number/100) #取出百位数return g*100+s*10+bif __name__ == "__main__":ts = Test()print (ts.reverseInteger(123)) #输出结果:321

2、使用栈的方式

class Test:
    def reverseInteger(self, number):number = str(number) # 模拟入栈l = list(number)
        result = ""while len(l) > 0:
            result += l.pop() # 模拟出栈return int(result)if __name__ == "__main__":ts = Test()print (ts.reverseInteger(123)) # 输出结果:321

3、使用切片的方式

class Test:
    def reverseInteger(self, number):number=str(number)
        result=number[::-1] #python中切片的特殊用法
        result=(int(result))return resultif __name__ == "__main__":ts = Test()print (ts.reverseInteger(123))

4、整数转字符串,反转字符串,然后再转整数

class Test:
    def reverseInteger(self, x):
        plus_minus = ""
        reverse_x = ""if x < 0:
            plus_minus = "-"x = -xfor i in str(x):
            reverse_x = i + reverse_x
        reverse_x = plus_minus + reverse_xif int(reverse_x) > pow(2, 31) - 1 or int(reverse_x) < pow(-2, 31):return 0return int(reverse_x)if __name__ == "__main__":ts = Test()print (ts.reverseInteger(123)) #输出结果:321

以上是我分享的4种方式,大家还有其它的方式吗?上面代码都已经经过我亲自测试,可以直接使用!

如果对于参考答案有不认同的,大家可以在评论区指出和补充,欢迎留言!

1-40、Python面试1-40题汇总

41、说说Python中的正则表达式?42、Python如何实现斐波那契数列?43、说说Python 中 is 和 == 的区别?44、说说Python如何实现杨辉三角?45、说说Python中变量的作用域?46、Python打印九九乘法表有几种方式?47、Python中列表常见的方法有哪些?48、说说Python中yield的用法?49、说说Python中元类是什么?50、Python中几种常见的排序算法?51、说说Python中闭包是什么?52、read、readline和readlines的区别?53、说说Python中with的用法?54、Python中连接字符串用join还是+?55、Python中search和match的区别?56、说说Python中字符串大小写转换?

关注小猿公众号,每天学习一道题

b31356ee1ca40691cd536a251ea48778.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值