【问题标题】:Same function for 2 arguments, 1 argument calculated in function [duplicate]2 个参数的相同函数,1 个参数在函数中计算 [重复]
【发布时间】:2022-12-25 08:22:27
【问题描述】:

我需要编写短代码来计算 1 到 N 之间的数字总和,然后得到 1 到 sum 之间的新数字总和。

程序输出示例: 输入数量:5

1 和 5 之间的总和 = 15

1 和 15 之间的总和 = 120

我的代码:

def summ_N(N):
  total = 0
  for N in range(1, N + 1):
    total += N
  print('Sum between 1 and N =', N, 'is: ', total)
  return total

N = int(input('Input N: '))
summ_N(N)
summ_N(total)

我收到的错误消息:

Input N: 5
Sum between 1 and N = 5 is:  15
Traceback (most recent call last):
  File "main.py", line 10, in <module>
    summ_N(total)
NameError: name 'total' is not defined

【问题讨论】:

  • a = sum(range(N + 1)); b = sum(range(a + 1))

标签: python


【解决方案1】:

删除最后两行并将其放入:

summ_N(summ_N(N))

最后删除return total。这是多余的。

【讨论】:

  • 你是什​​么意思“最后删除return total。这是多余的。”?如果 return 被删除,summ_N(N) 将始终评估为 None。
  • 有一行打印方法中的结果。如果您想要返回值,请删除打印,然后将 summ_N(N) 存储在变量中或打印它。
猜你喜欢
  • 1970-01-01
  • 2020-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-04
  • 2012-03-04
  • 2019-05-10
相关资源
最近更新 更多