如何将数字1到“n”相加并打印出结果?

时间:2017-06-04 21:08:42

标签: python function for-loop while-loop

我已经为我的练习编写了以下代码,尽管如此,当我尝试提交它时,我的代码得到了错误的答案。

所以这是我的代码:

def problem(n):
    my_sum = 0
    while my_sum < n: 
        my_sum = n 
        my_sum = my_sum + n 
    print (my_sum)

他们要求我编写的代码如下:写一个函数问题(n):将数字1到n加起来 打印出结果。你应该使用'while'循环或'for'循环。 请务必在几个数字上查看答案。

2 个答案:

答案 0 :(得分:1)

你可以试试这个:

def problem(n):

   print sum(xrange(1, n+1))

如果不允许使用内置和函数,可以试试这个:

def problem(n):

   counter = 0
   for i in range(1, n+1):
       counter += i

   print counter

顶部示例在所谓的列表理解中使用for循环,这是使用常规for循环的一种较短方式。

答案 1 :(得分:0)

您的解决方案只会在while循环中迭代一次,当my_sum变为>=n时,它将会停止。

您需要的是:

for x in range(1, n+1):                      
    my_sum += x

这将完成这项工作。完成n+1是因为range()的右边界是非包容性的。