def python 函数

用def,制作一个 把输入的num的每个位的数相加的 sum_digit函数
例:sum_digit(12)=3
sum_digit(36)=9
sum_digit(345)=12
1到100的的位数相加怎么计算

望采纳,谢谢!

def sum_digit(n):
    sumn = 0
    for i in str(n):
        sumn += int(i)
    return sumn

print(sum_digit(12))

print(sum_digit(36))

print(sum_digit(345))

sum1 = 0
for i in range(100):
    sum1 += sum_digit(i)
    print("{}的位数之和为{}".format(i,sum_digit(i)))
print("1加到100一共{}".format(sum1))

写了5种方法,如有帮助请采纳:

def sum_digit(n):
    res = 0
    while n>0:
        res += n%10
        n //= 10
    return res

print(sum_digit(12))
print(sum_digit(36))
print(sum_digit(345))

def sum_digit(n):
    res = 0
    m = str(n)
    for i in range(len(m)):
        res += int(m[i])
    return res

print(sum_digit(12))
print(sum_digit(36))
print(sum_digit(345))


def sum_digit(n):
    res = 0
    for i in str(n):
        res += int(i)
    return res

print(sum_digit(12))
print(sum_digit(36))
print(sum_digit(345))


def sum_digit(n):
    res = [int(i) for i in str(n)]
    return sum(res)

print(sum_digit(12))
print(sum_digit(36))
print(sum_digit(345))

def sum_digit(n):
    return sum(map(int,str(n)))

print(sum_digit(12))
print(sum_digit(36))
print(sum_digit(345))
def sum_digit(num):
    num_list = list(str(num))
    sum = 0
    for i in num_list:
        sum = sum + int(i)
    return sum


if __name__ == '__main__':
    sum_total = 0
    for j in range(1, 101):
        sum_total = sum_total + sum_digit(j)
    print("计算结果为:%d" % sum_total)