如何在 python 的数组中只添加奇数?
How to add only odd numbers inside an array in python?
我只想得到存储在数组中的奇数的总和,它应该作为参数传递给函数。这是我的代码:
def sum_odd(arr):
sum = 0
for i in arr:
if(i%2==1):
sum+=i
return(arr)
nums = (input("Enter 10 numbers: "))
arr = list(map(int, nums.split()))
print("The sum of all odd numbers is: ", sum_odd)
但是当我打印它时只说:
The sum of all odd numbers is: <function sum_odd at 0x0000025BE2A37F70>
如果用户输入超过 10 个数字,我也想尝试输入错误消息。
请更改以下两项。
- 需要调用
sum_add
函数。即把sum_add
改为sum_add(arr)
print("The sum of all odd numbers is: ", sum_odd(arr))
sum_add
函数返回数组本身而不是总和。请将 return(arr)
更改为 return(sum)
这些更改应该可以解决这里的问题
首先你应该在调用函数时给它一个参数
其次,在您的函数内部,您返回的是数组而不是结果。
我更改了您的代码,这里是:
def sum_odd(arr):
ans = 0
for i in arr:
if i%2 == 1: # if it's odd.
ans += i # keep adding up
return ans
arr = [int(x) for x in input("Enter 10 numbers: ").split()]
print("The sum of all odd numbers is: ", sum_odd(arr))
输入:
Enter 10 numbers: 1 2 3 4 5 6 7 8 9 10
输出:
The sum of all odd numbers is: 25
我只想得到存储在数组中的奇数的总和,它应该作为参数传递给函数。这是我的代码:
def sum_odd(arr):
sum = 0
for i in arr:
if(i%2==1):
sum+=i
return(arr)
nums = (input("Enter 10 numbers: "))
arr = list(map(int, nums.split()))
print("The sum of all odd numbers is: ", sum_odd)
但是当我打印它时只说:
The sum of all odd numbers is: <function sum_odd at 0x0000025BE2A37F70>
如果用户输入超过 10 个数字,我也想尝试输入错误消息。
请更改以下两项。
- 需要调用
sum_add
函数。即把sum_add
改为sum_add(arr)
print("The sum of all odd numbers is: ", sum_odd(arr))
sum_add
函数返回数组本身而不是总和。请将return(arr)
更改为return(sum)
这些更改应该可以解决这里的问题
首先你应该在调用函数时给它一个参数 其次,在您的函数内部,您返回的是数组而不是结果。 我更改了您的代码,这里是:
def sum_odd(arr):
ans = 0
for i in arr:
if i%2 == 1: # if it's odd.
ans += i # keep adding up
return ans
arr = [int(x) for x in input("Enter 10 numbers: ").split()]
print("The sum of all odd numbers is: ", sum_odd(arr))
输入:
Enter 10 numbers: 1 2 3 4 5 6 7 8 9 10
输出:
The sum of all odd numbers is: 25