[英]Output all negative numbers in a list
如何获取列表中所有负数的输出。 这是我尝试过的代码,但只能得到一个数字
#creat list using function
def Negative(List):
sum=0
for i in List:
if i < 0:
sum += i
return sum
#input and print list
inputData= input('enter numbers')
List = [float(i) for i in inputData.split(' ')]
print(Negative(List))
def Negative(List):
return [num for num in List if num<0]
#input and print list
inputData= input('enter numbers')
List = [float(i) for i in inputData.split(' ')]
print(Negative(List))
因为一个函数只能返回一次。
return语句终止函数的执行并将控制权返回给调用函数。 在紧接调用之后的那一点,将在调用函数中恢复执行。
所以在第8行,您将返回sum,然后存在。 它不会进行下一次循环迭代,因此它返回第一个数字,对于该条件是正确的。
解:
将每个iteraton结果存储在list,dict等地方,然后在函数末尾返回。
在这里您可以尝试:
#creat list using function
def Negative(List):
neg_num=[]
for i in List:
if i<0:
neg_num.append(i)
return neg_num
#input and print list
inputData= input('enter numbers ')
List = [float(i) for i in inputData.split(' ')]
print(Negative(List))
输出:
enter numbers 1 -2 3 -4 5 -6 7 -8
[-2.0, -4.0, -6.0, -8.0]
正如您所评论的:
如何计算从列表中获得的数字?
尝试这个 :
#creat list using function
def Negative(List):
neg_num=[]
for i in List:
if i<0:
neg_num.append(i)
return neg_num
#input and print list
inputData= input('enter numbers ')
List = [float(i) for i in inputData.split(' ')]
print(Negative(List))
print(len(Negative(List)))
输出:
enter numbers 1 -2 3 -4 5 -6 7 -8
[-2.0, -4.0, -6.0, -8.0]
4
或者,如果您想要在程序中尝试列出列表项的总和,则:
print(sum(Negative(List)))
其他:
您可以使用列表理解功能来简化循环逻辑:
neg_num=[i for i in List if i<0]
与:
neg_num=[]
for i in List:
if i<0:
neg_num.append(i)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.