Выходная сумма расширения и обратная расширенная сумма в Python - PullRequest
0 голосов
/ 09 мая 2018

Я пытаюсь написать функцию, которая отображает расширенную сумму и обратную расширенную сумму на основе пользовательского ввода в Python, например:

def printSum(int n, boolean reverse):

Где, если пользователь вводит целое число 4, 'true', вывод будет:

1+2+3+4 = 10

Или, если пользователь вводит целое число 4, «ложь», вывод будет:

4+3+2+1 = 10

Я знаю код для обращения заданного целого числа,

def reverse_int(n):
    Reverse = 0

    while(n > 0):
        Reminder = n %10
        Reverse = (Reverse *10) + Reminder
        n = n //10

    print("\n Reverse of entered number is = %d" %Reverse)

но я не уверен, как применить его к расширенной / обратной расширенной функции суммы, описанной выше. Любой вклад будет оценен.

1 Ответ

0 голосов
/ 09 мая 2018

Вам не нужно переворачивать цифры, вместо этого используйте range, чтобы указать порядок вывода (вперед и назад):

def printSum(n, reverse):
    s = sum(range(n+1))
    if reverse:
        print('+'.join(str(i) for i in range(1, n+1)) + ' = ' + str(s))
    else:
        print('+'.join(str(i) for i in range(n, 0, -1)) + ' = ' + str(s))

printSum(4, True)
# 1+2+3+4 = 10

printSum(4, False)
# 4+3+2+1 = 10
...