循环中从1到5的数字之和

时间:2015-10-07 02:02:52

标签: python python-2.7 python-3.x

为了简化我的方案,我在这里重新定义我的问题。

我想在循环中添加1到5的数字。 X应为1,2,3,4,5。从Y开始为0. Y = X + Y应该给出1到5的总和。

要求:我想将y开始为0并希望y保持最新的add_sum值。

预期产出:

    1st iteration: y = 1 (x = 1, y = 0)

    2st iteration: y = 3 (x = 2, y = 1)

    3st iteration: y = 6 (x = 3, y = 3)

    ...

    ...

    so on 

我是python编码的新手,有人可以帮我吗?

3 个答案:

答案 0 :(得分:1)

使用reduce

reduce(lambda x, y: x + y, range(6))

答案 1 :(得分:0)

正如评论中所提到的,修复语法和运行代码似乎工作正常。

def read_num():
    for num in range (1,5):
        x = num
        add_sum(x)


def add_sum(x):
    global y
    y = x + y
        print ("y =", y)

y = 0
read_num()

如果您希望x为1到5 包含,则必须使用range(1,6)

答案 2 :(得分:0)

y = 0  # Assign value 0 to variable 'y'
for x in xrange(1, 6):  # Cycle from 1 to 5 and assign it to variable x using iterator as we need just 1 value at a time
  print '(x=%s, y=%s)' % (x, y)  # Display value of 'x' & 'y' variables to user for debug & learning purpose
  y += x  # Adding x to the y.
  print 'y=%s' % y  # Display result of sum accumulated in variable 'y'

编辑:根据评论中的要求为代码添加评论。