![](/img/trans.png)
[英]How to sum even or odd numbers in a list given the condition odd or even?
[英]Why does my values in a list doesn't calculate sum odd and even numbers differently and return it in a new list?
我有一個名為 li 的列表,其值為 [1,2,4,5],我想返回一個新列表,其中包含奇數和偶數之和,例如 new_list = [6,6],其中值相加為 1+5 = 6 和2+4 = 6。但是,我收到的 output 是 [1]。 下面是我的代碼。
class Solution(object):
def calculate_odd_even(self, li):
even = 0
odd = 0
sum_num = []
for i in range(len(li)):
if li[i] % 2 == 0:
even += 1
sum_num.append(even)
else:
odd += 1
sum_num.append(odd)
return sum_num
if __name__ == "__main__":
p = Solution()
lit = [1, 2, 4, 5]
print(p.calculate_odd_even(lit))
您的代碼中有幾個問題。
return
得太早了(在循環中)其他“小”問題:
class Solution(object):
def calculate_odd_even(self, li):
even = 0
odd = 0
sum_num = []
for x in li:
if x % 2 == 0:
even += x
else:
odd += x
sum_num.append(odd)
sum_num.append(even)
return sum_num
if __name__ == "__main__":
p = Solution()
lit = [1, 2, 4, 5]
print(p.calculate_odd_even(lit))
更簡單的變體:
class Solution(object):
def calculate_odd_even(self, li):
sum_num = [0, 0]
for x in li:
sum_num[1-x%2] += x # use sum_num[x%2] += x for even/odd order
return sum_num
if __name__ == "__main__":
p = Solution()
lit = [1, 2, 4, 5]
print(p.calculate_odd_even(lit))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.