Как написать функцию добавления, которая печатает каждое добавляемое число, вплоть до определенного числа - PullRequest
0 голосов
/ 07 ноября 2019

Я хочу создать функцию, которая будет умножать каждое число, начиная с единицы, до числа, указанного в качестве параметра в самой функции, а затем складывать их вместе с номером параметра, хитрость в том, что яЯ также хочу записать умножение как уравнение сложения.

Вот что у меня есть:

def adding(num):
summ = 0
for x in range(1, num+1):
    summ += x*x

return summ

Пока я могу показать общий результат, но не могу понятьспособ печати каждого добавляемого числа, как я показал выше.

Ответы [ 2 ]

1 голос
/ 07 ноября 2019
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
0 голосов
/ 07 ноября 2019

Этот способ не прекрасен ни в коем случае, но я думаю, что он довольно просто иллюстрирует, что вы пытаетесь сделать

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
...