我试图在用户输入列表中添加所有负整数,但该函数总是返回0作为答案。如果我将列表作为函数的一部分包含在内,但在用户输入时则不行。我的代码是:
def sumNegativeInts(userList):
userList = []
sum = 0
for i in userList:
if i < 0:
sum = sum + i
return sum
userList = input("Enter a list of +/- integers: ")
print(sumNegativeInts(userList))
答案 0 :(得分:3)
sum(i for i in alist if i < 0)
完成。它是Python,它必须简单!
答案 1 :(得分:1)
删除代码的第二行,无论输入是什么,它都会将输入设置为空列表。
答案 2 :(得分:0)
每次进入函数时都会为userList指定一个空列表,它怎么能不是0?
此外,函数input()似乎无法处理输入列表。
所以我认为你可以这样做:
def sumNegativeInts(userList):
sum = 0
for i in userList:
if i < 0:
sum += i
return sum
inputData = raw_input('some prompts')
userList = [int(i) for i in inputData.split(' ')]
print(sumNegativeInts(userList))
答案 3 :(得分:0)
您总是可以执行if和elif语句来确定是否在列表中添加数字,然后取列表的总和。我的提示是列出一个由100到100到100到100之间的随机整数组成的列表。然后找到所有负数的总和。
import random
def SumNegative():
my_list = []
for i in range(100):
x = random.randint(-100, 100)
if x > 0:
pass
elif x < 0:
my_list.append(x)
print(sum(my_list))
SumNegative()