【问题标题】:Output Expanding Sum and Reverse Expanded Sum in Python在 Python 中输出扩展总和和反向扩展总和
【发布时间】:2023-03-08 02:28:01
【问题描述】:

我正在尝试编写一个函数,该函数根据用户在 Python 中的输入显示扩展总和和反向扩展总和,如下所示:

def printSum(int n, boolean reverse):

如果用户输入整数4,'true',输出为:

1+2+3+4 = 10

或者如果用户输入整数4,'false',输出为:

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)

但我不确定如何将其应用于上述扩展/反向扩展求和函数。任何意见将不胜感激。

【问题讨论】:

  • 该标志会做什么?整数和取反对结果没有影响
  • 您不只是反转数字的顺序,range() 可以向前执行range(1, n+1) 或向后range(n, 0, -1)...您可以打印它们并将它们相加以获得您的结果.

标签: python function loops boolean


【解决方案1】:

您不必颠倒数字,而是使用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

【讨论】:

    猜你喜欢
    • 2019-08-09
    • 2018-03-08
    • 1970-01-01
    • 2014-09-23
    • 1970-01-01
    • 2020-04-28
    • 2011-04-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多