该任务已在 codecademy Practice Makes Perfect digit_sum
需要对正数的数字进行求和。 我使用字符串方式来决定任务(不是楼层划分)。
我的代码是
def digit_sum (n):
total = 0
for digit in range(len(str(n))):
total += int(n[digit])
return total
number = raw_input("Please print a long number: ")
print digit_sum(number)
它适用于 1001 和 434。
但是,该程序表示: 您的 digital_sum 函数是否只接受一个参数(正整数)?您的代码引发了“'int'对象没有属性'getitem'”错误。
代码运行时可能会出现什么问题?
谢谢!
最佳答案
你没有将 n 转换为字符串,所以当你调用 n[i] 时它会引发异常
def digit_sum(n):
return sum( int(i) for i in str(n) )
关于Python Codecademy digital_sum,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38136544/