【问题标题】:How to write an adding function that prints each number being added, up to a certain number如何编写一个添加函数来打印每个被添加的数字,直到某个数字
【发布时间】:2019-11-06 23:47:04
【问题描述】:
我想创建一个函数,它将每个数字从 1 开始乘以在函数中指定为参数的数字,然后将它们加在一起到参数数字,诀窍是,我还想把乘法写成加法方程。
这是我目前所拥有的:
def adding(num):
summ = 0
for x in range(1, num+1):
summ += x*x
return summ
到目前为止,我可以显示总结果,但我无法找到一种方法来打印上面显示的每个添加的数字。
【问题讨论】:
标签:
python
python-3.x
function
loops
【解决方案1】:
def adding(num):
summ = 0
for x in range(1, num+1):
if x > 1:
print(' + ', end='')
print('+'.join([str(x) for _ in range(x)]), end='')
summ += x*x
print(' =', summ)
return summ
【解决方案2】:
这种方式无论如何都不漂亮,但我认为它很简单地说明了你正在尝试做的事情
def adding(num):
summ = 0
string = ''
for x in range(1, num + 1):
if x > 1:
# append to string x, x times #
string += ' + ' + (str(x) + '+') * x
# remove final character in string #
string = string[:-1]
else:
string += str(x)
summ += x * x
if x == num:
string += ' = ' + str(summ)
print(string)
return summ