网易编程题目——相反数:

网易相反数:
为了得到一个数的"相反数",我们将这个数的数字顺序颠倒,然后再加上原先的数得到"相反数"。例如,为了得到1325的"相反数",首先我们将该数的数字顺序颠倒,我们得到5231,之后再加上原先的数,我们得到5231+1325=6556.如果颠倒之后的数字有前缀零,前缀零将会被忽略。例如n = 100, 颠倒之后是1.
输入描述:

输入包括一个整数n,(1 ≤ n ≤ 10^5)

输出描述:
输出一个整数,表示n的相反数
输入例子1:
1325

输出例子1:
6556


解题思路:
应用字符串知识。
1:首先将原字符n串取反输出得到相反字符串Inv;
2:然后判断Inv首字母是否为‘0’,若为’0’则删除(用’'替换)——此时编写一个替换函数replaceString(string, num, replace),直至首字母不为零为止,因此整个过程用while循环来完成——得到最终的Inv。
3:对n和Inv进行类型转换(字符串转换成int类型)并相加输出。


# -*- coding: utf-8 -*-
def replaceString(string, num, replace):
    string2 = ''
    for i in range(len(string)):
        if i == num:
            string2 += replace
        else:
            string2 += string[i]
    return string2

def InverseNum(n):
    Inv=''
    for i in range(len(n)):
        Inv=Inv+n[len(n)-1-i]
    
    while(not int(Inv[0])):
        Inv=replaceString(Inv, 0, '')
        
    return int(Inv)+int(n)

def main():
    n=input()
    Inv=InverseNum(n)
    print(Inv)

main()

运行结果:
这里写图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值