使用while循环计算两个数字的整数之和

时间:2013-07-29 11:02:50

标签: python

我在MyPytutor上遇到一个问题就是问我要写一个函数sum_from_to(start,end),它使用while循环计算从开始到整数的总和,但不包括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。

我该如何处理?我从半年前看过同样的问题,但从未解决过。任何帮助都会非常感激,因为我真的坚持这个!

3 个答案:

答案 0 :(得分:3)

在[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

答案 1 :(得分:2)

以下是一些让您入门的例子

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

你可以用

来做
sum(range(start, end))

答案 2 :(得分: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))