计算9+98+987+…+987654321的和
def sum_of_num():
"""无参函数,计算并返回9+98+987+...+987654321的累加和"""
num = 0 # 储存新产生的数字
result = 0 # 储存累加结果
for i in range(9, 0, -1): # 获得9,8,7,6,5,4,3,2,1的数字序列
num = num * 10 + i # 产生下一个数字,第一次产生9,第二次产生98...
result = result + num # 计算当前累加和
print(num, result) # 输出查看中间计算结果
return result # 返回累加和
print(sum_of_num()) # 1097393685
def sum_of_num():
"""无参函数,计算并返回9+98+987+...+987654321的累加和"""
num = 0 # 储存新产生的数字
result = [] # 储存参与计算的数字
for i in range(9, 0, -1): # 获得9,8,7,6,5,4,3,2,1的数字序列
num = num * 10 + i # 产生下一个数字,第一次产生9,第二次产生98...
result.append(num) # 将新产生的数字加到列表中
print(num, result) # 输出查看中间计算结果
return sum(result) # 返回列表中元素的累加和
print(sum_of_num()) # 1097393685
def sum_of_num():
"""无参函数,计算并返回9+98+987+...+987654321的累加和"""
num = ''.join(map(str, range(9, 0, -1))) # 产生字符串'987654321'
result = [int(num[:i]) for i in range(1,10)] # 得到参与计算的数字的列表
return sum(result) # 返回列表中元素的累加和
print(sum_of_num()) # 1097393685
python风格
print(sum(int('987654321'[:i]) for i in range(1, 10)))
输出带计算表达式:
def sum_of_num():
"""无参函数,计算并返回9+98+987+...+987654321的累加和"""
num = ''.join(map(str, range(9, 0, -1))) # 产生字符串'987654321'
result = [num[:i] for i in range(1, 10)] # 得到参与计算的数字的列表
expression = '+'.join(result) + '=' # 得到赋值符号左侧表达式的字符串
result = sum(map(int, result)) # 列表中的字符型数字转为整数再求和
return expression + str(result) # 返回列表中元素的累加和
print(sum_of_num()) # 1097393685
# 9+98+987+9876+98765+987654+9876543+98765432+987654321=1097393685