欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > IT业 > python-数字反转

python-数字反转

2024/10/26 1:24:13 来源:https://blog.csdn.net/2401_83954530/article/details/142079986  浏览:    关键词:python-数字反转

题目描述

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

输入格式

一个整数 N

输出格式

一个整数,表示反转后的新数。

样例 #1

样例输入 #1

123

样例输出 #1

321

样例 #2

样例输入 #2

-380

样例输出 #2

-83

提示

【数据范围】

-1,000,000,000<N<1,000,000,000 。

来源/分类(难度系数:二星)

NOIP普及组 模拟 字符串 2011 

完整代码展示:

# coding=utf-8
a=eval(input())
if a==0:print(0)
elif a<0:s=list(str(a))s=s[1::]sum=0for i in range(0,len(s)):sum+=eval(s[i])*10**iprint(0-sum)
else:s=list(str(a))sum=0for i in range(0,len(s)):sum+=eval(s[i])*10**iprint(sum)

代码解释:

a=eval(input())

导入用户需要反转的数字a。

if a==0:

print(0)

判断a是否为0,如果是,则输出0。

elif a<0:

   s=list(str(a))

   s=s[1::]

   sum=0

   for i in range(0,len(s)):

       sum+=eval(s[i])*10**i

   print(0-sum)

如果a<0,则将s转换为字符串并储存在列表s中,将s除第一个元素的切片重新赋给s。令sum为0,接着遍历s中元素:s[i]转换为可计算数值,sum+s[i]*10**i。最后打印sum的相反数。

else:

    s=list(str(a))

    sum=0

    for i in range(0,len(s)):

        sum+=eval(s[i])*10**i

print(sum)

如果a>0,则将s转换为字符串并储存在列表s中。令sum为0,接着遍历s中元素:s[i]转换为可计算数值,sum+s[i]*10**i。最后打印sum。

运行效果展示:

                 (声明:以上内容均为原创)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com