兴业数金编程题

编程题只有这一道,全A过:输入一个非负整数,以数组形式用逗号隔开,输出这个数加1后的数,位与位之间用逗号隔开。
import sys
if __name__ == "__main__" :
    line = sys.stdin.readline()
    num = list(map(int,line.split(',')))
    
    # 进位检测
    if (num[-1] + 1) == 10 :
        #定义两个常数,check为判断当前数字加一后是否为10,i是下标
        check , i = 10 , -1
        
        while check == 10 :
            num[i] = 0 # 等于10的话就置零
            
            # 只要不到数组头就继续找下一个数是否需要进位
            if i > -len(num) :
                num[i-1] += 1
                check = num[i-1]
                i -= 1
            
            # 全都是9的情况
            else :
                new_num = [1]+[0]*len(num)
                num = new_num
                break
    else:
        num[-1] += 1
    
    num = list(map(str,num))
    print(','.join(num)+',') # 这里要求的输出最后也要加个逗号


#兴业数金笔试##笔经#
全部评论
是要我们改改题嘛😎😛
点赞 回复 分享
发布于 2021-09-06 09:47

相关推荐

呆呆头:不适合,就跑,不要有压力,别给自己压力
点赞 评论 收藏
分享
我已成为0offer的糕手:走算法要发论文的,至少你简历上一篇没有,这个薪资估计没戏了,实习和论文都没有,你不如先考虑考虑算法这条路,会不会因为本科学历把你的简历直接给刷了,转开发吧
点赞 评论 收藏
分享
1 23 评论
分享
牛客网
牛客企业服务