我必须在代码中包含一个函数,因此我在下面编写了代码,但是我不知道如何在用户输入的两个数字之间添加所有偶数。它仅打印偶数,不将它们相加。
def sum_of_two_no(num1, num2):
for evenno in range(num1, num2 + 1):
if evenno % 2 == 0:
print (evenno)
num1 = 0
num2 = 0
num1 = int(input("Enter first number: "))
num2 = int(input("Enter second number number: "))
sum_of_two_no(num1, num2)
例如:如果用户为第一个数字输入1,为第二个数字输入10,则程序将显示1到10之间的偶数,但不会将它们相加。
答案 0 :(得分:1)
def sum_of_two_no(num1, num2):
sum=0
for evenno in range(num1, num2 + 1):
if evenno % 2 == 0:
sum+=evenno
return sum
我认为您处于学习的初始阶段。要获得总和,您必须实际执行一些操作来存储总和。只需取一个变量并将所有偶数加起来,然后简单地将其返回即可。
答案 1 :(得分:1)
尝试输入代码
def sum_of_two_no(num1, num2):
sum=0
for i in range(num1,num2+1):
if i%2==0:
sum+=i
return sum
print(sum_of_two_no(4,7))
您的代码的问题是它没有存储偶数的值,而只是打印了它
希望有帮助
答案 2 :(得分:1)
从1到n的所有偶数之和由第n个:triangular number:n(n+1)/2
给出。类似地,2、4,...,2n之和为n(n+1)
。因此,我们可以通过
def sum_of_two_no(num1, num2):
# fix boundaries
num1 = num1 // 2 - 1 # We subtract sum of 2, 4, ..., num1 - 2
num2 = num2 // 2 # We add sum of 2, 4, ..., num2
# Compute upper sum - lower sum
return num2 * (num2 + 1) - num1 * (num1 + 1)
答案 3 :(得分:0)
或者您也可以不检查就循环浏览
button
num1%2确保我们从最接近的偶数开始。
或者您也可以用pythonic方法将其单行:
def sum_of_two_no(num1, num2):
mysum = 0
for evenno in range(start=num1+num1%2, stop=num2+1, step=2):
mysum += evenno
return mysum