首页 > 兴业数金编程题
头像
白月丶
编辑于 2021-08-15 18:50
+ 关注

兴业数金编程题 内部员工回复

编程题只有这一道,全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)+',') # 这里要求的输出最后也要加个逗号


全部评论

(1) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

近期热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐