1到n的整数之和

mab*_*ski 2 python

我正在尝试编写一个程序,将数字从1累加到n。我设法让它多次打印数字,但并没有全部添加。它继续只是将两个数字相加。

我的第一次尝试是:

def problem1_3(n):
    my_sum = 0
    # replace this pass (a do-nothing) statement with your code
    while my_sum <= n:
        my_sum = my_sum + (my_sum + 1)
    print() 
    print(my_sum)
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

Aks*_*kar 7

我不明白为什么每个人都让一切变得复杂。这是我的简单解决方案

n = int(input())
print(n * (n + 1) // 2)
Run Code Online (Sandbox Code Playgroud)


Gui*_*not 5

您可以用一行完成此操作,在该行中创建从0to到整数的列表,n并使用sum函数将所有元素求和

def problem1_3(n):
    return sum(range(n+1))
Run Code Online (Sandbox Code Playgroud)


小智 3

您的代码中需要 2 个不同的变量 - 一个变量,您可以在迭代这些值并将它们相加时存储总和(我的代码中的 my_sum),另一个变量(我的代码中的 i)用于迭代从 0 开始的数字到 n.

def problem1_3(n):
    my_sum = 0
    i=0
    #replace this pass (a do-nothing) statement with your code
    while i <= n:
        my_sum = my_sum + i
        print(my_sum)
        i+=1
    return my_sum
Run Code Online (Sandbox Code Playgroud)

您在代码中使用 my_sum 变量来存储总和并迭代数字。