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
,只是在循环中丢弃结果,该行在循环中不做任何事情,您也不需要它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)))