python反转一个三位整数的多种实现方案
在LintCode上练习遇到这个问题,查阅资料找到多种方法,总结如下。
输入 输出 123 321 第一种:整数方法取余取整实现class Solution: ''' @param number: A 3-digit number. @return: Reversed number. ''' def reverseInteger(self, number): g = number%10 #取出个位数 s = (int(number/10))%10 #取出十位数 b = int(number/100) #取出百位数 return g*100+s*10+bif __name__ == '__main__': so = Solution() print (so.reverseInteger(123))
python不和C语言一样自动截取保留整数,需要用 int 转换一下
第二种:使用字符串切片def reverseInteger(self, number): number=str(number) result=number[::-1] result=(int(result)) return result
借用字符串的方法处理
第三种:使用栈def reverseInteger(self, number): number=str(number)#模拟入栈 l=list(number) result='' while len(l)>0: result+=l.pop()#模拟出栈 return int(result)
补充:Python程序:任意输入一个三位数,然后把三位数的位置反转输出。
第一种方法把输入的三位数百位、十位和个位依次表示出来,然后将个位数字和百位数字进行交换。
#输入number = 123,输出321number = int(input(’请输入一个三位数:’))a = number%10 #个位b = number//10%10 #十位c = number//100 #百位re_number = a*100 + b*10 + cprint(’%d的反转数是:%d’%(number,re_number)) #第一种输出方式print(’{0}的反转数是:{1}’.format(number,re_number)) #第二种输出方式第二种方法
将输入的三位数以字符串的形式用list()方法列表化,然后逆序从列表中依次取出个位、十位、百位,输出的时候注意将str类型转换为int类型。
#输入number = 123,输出321number = input(’请输入一个三位数:’)list1 = list(number) #将输入的三位数的字符串存入列表list1.reverse() #将列表元素反转a = int(list1[0]) #取出反转后列表的元素并将其类型转为int类型b = int(list1[1])c = int(list1[2]) #也可以不反转列表,直接反着取出列表中的元素re_number = a*100 + b*10 + cprint(’%s的反转数是:%s’%(number,re_number))print(’%d的反转数是:%d’%(int(number),re_number))
以上就是我所想到的输出3位数反转数的方法,希望能给大家一个参考,也希望大家多多支持好吧啦网。如有错误或未考虑完全的地方,望不吝赐教。
相关文章:
1. Express 框架中使用 EJS 模板引擎并结合 silly-datetime 库进行日期格式化的实现方法2. 一篇文章带你了解JavaScript-对象3. Java构建JDBC应用程序的实例操作4. IntelliJ IDEA设置条件断点的方法步骤5. IDEA的Mybatis Generator驼峰配置问题6. Python使用oslo.vmware管理ESXI虚拟机的示例参考7. javascript设计模式 ? 建造者模式原理与应用实例分析8. Spring应用抛出NoUniqueBeanDefinitionException异常的解决方案9. python flask框架快速入门10. ThinkPHP5 通过ajax插入图片并实时显示(完整代码)
