如何获取一个整数,将其拆分为数字,做一些算术运算,然后将其附加到新的整数中

2024-10-08 22:27:50 发布

您现在位置:Python中文网/ 问答频道 /正文

任务:

给定一个整数作为输入,添加代码以获取各个数字并增加1

例如,如果数字为5,则它变为6。请注意,如果数字为9,则变为0

更多例子

输入:2342输出:3453

输入:9999输出:0

输入:835193输出:946204

我编写了这个函数,但我确信这不是编写代码的方法,我正在寻找一些技巧,以更简洁、高效的方式编写它。请告知

def new_num (num):
    newnum = []
    for i in range (0,len(str(num))):
        upper = num%10
        print(upper)
        num = int(num/10)
        print(num)
        if upper == 9:
            upper = 0
            newnum.append(upper)
        else:
            upper+=1
            newnum.append(upper)
    strings = [str(newnum) for newnum in newnum]
    a_string = "".join(strings)
    an_integer = str(a_string)
    new_int = int(an_integer[::-1])
    return(new_int)

Tags: 代码inannewforstring数字upper
3条回答

许多可能的改进之一。。。将if/else替换为:

upper = (upper+1)%10
newnum.append(upper)

你可以这样做:-

n = '2349'
nn = ''
for i in n:
    nn += '0' if i == '9' else str(int(i) + 1)
print(nn)
x= input('no = ')
x= '' + x 
ans=[]
for i in x : 
    if int(i) == 9 :
        ans.append(str(0))
    else: 
        ans.append(str(int(i)+1))
ans=''.join(ans)
if int(ans) == 0:
    ans = 0
print(ans.strip('0'))

这是我能写的最基本的代码,也可以缩短为几行

相关问题 更多 >

    热门问题