其他分享
首页 > 其他分享> > 每日一题10009-反转数字

每日一题10009-反转数字

作者:互联网

1.题目详情

给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。
在这里插入图片描述

2.解题思路

1. python中如何实现反转?
2. 正数和负数有什么区别?
3. 如何避免0098这种最高位数为零情况出现?

3.代码实现

import  math
number=(input())
if number.isdigit() and int(number)>=0: #isdigit() 方法检测字符串是否只由数字组成。
    number_new=number[::-1] #反转
    number_result=int(number_new.lstrip("0")) #lstrip() 方法用于截掉字符串左边的空格或指定字符,即截掉0
else:
    # 负数的情况,首先转为正数:
    # 把负号去掉
    # number=number[1:]
    # print("fushu:",number)
    # number_new=-int(number[::-1])#这种写法也可以
    number_result =-int((number[1:][::-1]).lstrip("0"))

print(number_result)

4.知识点

  1. 反转有两种方式:
    使用python中列表里的reverse()方法,实现反转,注意是列表;
    python中列表,字符串,元组都可以用[::-1]实现反转
  2. n.isdigit()判断是否是数字
  3. n.istrip()可截取掉字符串左边的想要截取的东西
  4. 从列表的[1:]开始就可以去掉不好处理的负号了

标签:新数,lstrip,int,反转,10009,number,python,一题
来源: https://blog.csdn.net/weixin_46398446/article/details/112133890