0

我在 MyPytutor 上的作业问题遇到了一些麻烦,该问题要求我编写一个函数 sum_from_to(start, end),该函数使用 while 循环来计算从 start 到但不包括 end 的整数之和。

给定的代码是:

def sum_from_to(start, end):
"""Return the sum of the integers from start up to but not including end.

sum_from_to(int, int) -> int
"""
# add your code here: use a while loop

例子:

  • sum_from_to(3, 7) 应计算为 18(即 3+4+5+6)。
  • sum_from_to(3, 3) 应评估为 0。

我将如何处理这个?我从半年前就看到过同样的问题,但从未解决过。任何帮助将不胜感激,因为我真的坚持这一点!

4

3 回答 3

4

在 [start, end[ 之间初始化一个 while 循环(用此符号排除结束:“<”)然后迭代开始编号。所以对于 3 到 7,数字将是:3,4,5,6 然后你只需要添加这些数字,所以只需在你的 while 循环之前初始化一个 var 并用你迭代的数字添加这个 var

def sum_from_to(start, end):
    """Return the sum of the integers from start up to but not including end.

    sum_from_to(int, int) -> int
    """
    result = 0
    i = start
    while i < end:
        result += i
        i += 1
    return result
于 2013-07-29T11:16:10.960 回答
2

以下是一些帮助您入门的示例

a = 0
while a < 10:
    a += 1
    print a

你可能会这样做

sum(range(start, end))
于 2013-07-29T11:08:01.567 回答
0

我会交付这个:

def sum_from_to(start, end):
    ret = 0
    while start < end:
        ret += start
        start += 1
    return ret

但我喜欢它在下面的样子(没有一段时间 - 这不符合您的要求):

def sum_from_to(start, end):
    return sum(x for x in range(start, end))
于 2017-08-08T16:00:51.233 回答