如题。例如用户输入45678,显示的会是:4+5+6+7+8=30 3+0=3想了思路,大概应该使用while循环和%以及// 来求解但是不知道具体怎么操作如果是任意数的话怎么控制地板除的数量呢?
8 回答
已采纳
Iamxiaoq
TA贡献33条经验 获得超6个赞
def my_add(s): s = str(s) if len(s) == 1 or not s.isdigit(): return nums = map(lambda x:int(x), s) total = sum(nums) print("{}={}".format("+".join(s), total)) my_add(total) s = input("input a number:") my_add(s)
phpmadman
TA贡献2条经验 获得超0个赞
function cal(num){ if(num>=10){ var str=num+""; var num=0; var arr=str.split(""); for(var i=0;i<arr.length;i++){ num+=arr[i]-0; if(i<arr.length-1){ document.write(arr[i]+"+") }else{ document.write(arr[i]+"="+num+"<br/>") } } return cal(num); }else{ return "OK"; } } var a=prompt("请输入一个数字","在这里输入数字"); cal(a);
cnaz
TA贡献3条经验 获得超0个赞
while num > 0 : digit= num % 10 num= num//10 if num > 1: print (digit, end =" ""+"" ") else: print (digit, end =" ") digit_sum += digit print ("=",digit_sum, end = " ") print ("") while digit_sum >10: digit= digit_sum % 10 digit_sum= digit_sum//10 if digit_sum > 1: print (digit, end =" ""+"" ") else: print (digit, end =" ") digit_sum += digit print ("=",digit_sum, end = " ") print ("")
我是这样做的,但是第二个循环出了问题,最后的运算结果不对。但是一修改就很容易出现无限循环的情况
qq_迟来的秋天_04009602
TA贡献8条经验 获得超2个赞
python实现方式:
def my_fun(number=0): return sum([int(i) for i in list(str(number))])
Nelson_Zhao
TA贡献21条经验 获得超4个赞
def addnum(number): nums = map(lambda x: x, number) result = reduce(lambda x, y: int(x) + int(y), nums) print ' + '.join(nums) + ' = ' + str(result) if __name__ == "__main__": addnum(raw_input('Please input> '))
添加回答
举报
0/150
提交
取消