嗨,我在学校里的练习中遇到了困难。并可以使用一些帮助。
创建一个遍历数字的for循环:
67,2,12,28,128,15,90,4,579,450
如果当前数字是偶数,则应将其添加到变量中,如果是 当前数字是奇数,你应该从变量中减去它。
回答最终结果。
到目前为止,这是我的代码。
def listnum(a):
for num in [67, 2, 12, 28, 128, 15, 90, 4, 579, 450]:
if (num%2):
a = a + num
else:
a = a - num
return a
ANSWER = a
当我运行这个程序时,我得到答案:
5.6 FAIL.
You said:
4 class 'int'>
如果53
的初始值为a
,则正确答案应为0
。
答案 0 :(得分:0)
看起来你需要调整自己的状况。
def listSum(a):
for num in [67, 2, 12, 28, 128, 15, 90, 4, 579, 450]:
if(num % 2 == 0): #subtle difference here.
a += num
else:
a -= num
return a
这将看到一个微妙的差异。
答案 1 :(得分:0)
我认为如果你的函数输入是列表而不是返回值会更有意义。另外(正如其他人所说)你需要num % 2 == 0
并且你的缩进不太正确。试试这个:
def listSum(l):
ans = 0
for num in l:
if num % 2 == 0:
ans += num
else:
ans -= num
return ans
请注意,您可以在一行中执行此操作:
def listSum(l):
return sum(i if i % 2 == 0 else -i for i in l)
在这两种情况下, print(listSum([67, 2, 12, 28, 128, 15, 90, 4, 579, 450]))
都会打印53
。