用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)