Python 如何获得循环中m和n之间的所有整数之和?

Python 如何获得循环中m和n之间的所有整数之和?,python,python-3.x,for-loop,Python,Python 3.x,For Loop,我在获取m和n之间的所有整数之和时遇到问题。在代码中,我必须输入两个整数m和n,然后计算并显示从m到n的所有整数之和 应该使用循环将数字反复添加到总数中来计算总和,我不能使用公式来计算结果。到目前为止,我生成的代码如下所示: m = int(input("Enter a number: ")) n = int(input("Enter a second number: ")) sum = 0 for i in range (m,n): m+n

我在获取
m
n
之间的所有整数之和时遇到问题。在代码中,我必须输入两个整数
m
n
,然后计算并显示从
m
n
的所有整数之和

应该使用循环将数字反复添加到总数中来计算总和,我不能使用公式来计算结果。到目前为止,我生成的代码如下所示:

m = int(input("Enter a number: "))
n = int(input("Enter a second number: "))
sum = 0

for i in range (m,n):
    m+n
    sum += i
    print(i)
您应该使用
range(m,n+1)
n
包含在范围内

for i in range (m,n+1):
    s += i
    print(i)

print(s)

例如
range(4,6)
会给你
[4,5]
但是
range(4,5)
只会给你
[4]
我在上面的代码中看到的一些问题是-

  • 您正在打印
    i
    的值,这些值是从
    m
    n
    的整数(不包括
    n
    ),并且您没有打印

  • 您正在执行
    m+n
    ,只是在循环中丢弃结果,该行在循环中不做任何事情,您也不需要它

  • Main-您要一直走到
    n-1
    ,不包括
    n
    ,因为
    范围(开始、停止)
    只走到
    停止-1
    ,它不包括
    停止
    。您需要执行
    范围(m,n+1)

  • 您不应该使用
    sum
    作为变量名,因为它会影响内置函数-

  • 范围(m,n)
    m
    迭代到
    n-1
    。如果您想要从m到n的数字之和(包括m和n)


    只需调用范围上的
    sum
    函数,将
    1
    添加到
    n
    以将n包括在总和中,因为范围是半开放的,因此上限不包括在内:

    m = int(input("Enter a number: "))
    n = int(input("Enter a second number: "))
    
    
    print(sum(range(m, n+1)))
    

    不要使用
    sum
    作为变量名,因为它会隐藏内置函数sum,如果您在代码中定义sum,就会清楚地知道为什么

    那么上面的代码有什么问题?当我输入数字4和5时,结果只有4,这是incorrect@rico99检查我的答案
    范围(n,m)
    仅适用于
    m
    ,表示循环转到
    m-1
    (包括)。你可以在中读到,我已经回滚了你的最新编辑。您不应该编辑问题中的代码,使其与解决方案匹配。如果你找到了一个好答案,请从正确答案旁边的勾号处接受,不要编辑你的问题。在我输入前两个答案后,什么都不会发生integers@rico99您输入了什么?好的,谢谢,它现在返回m和n之间的数字,但我想将m和n之间的所有数字相加?是的,它包括
    m
    n
    像这样,你试过了吗?在循环后打印
    sum
    。@GinoMempin更新了OP使用for循环进行求和的限制,尽管这是赢得范围的一个很好的解决方案。@holroy,OP不能使用公式,使用sum没有限制,它是与循环一起的。参见他的第二段,我读到OP需要自己编写循环,在
    sum
    #4的定义中没有隐藏的循环是很重要的,我遇到的所有书籍和教程都完全忽略了这一点。更重要的是,这是一个比公认的答案更好的答案。不要使用
    sum
    作为变量名,因为它会影响函数。
    m = int(input("Enter a number: "))
    n = int(input("Enter a second number: "))
    
    
    print(sum(range(m, n+1)))