ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

每日一题10009-反转数字

2021-01-03 14:01:19  阅读:176  来源: 互联网

标签:新数 lstrip int 反转 10009 number python 一题


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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有