我需要帮助做一个程序,它应该收到十个数字并返回我输入的负整数的数量。 例: 如果我输入:
1,2,-3,3,-7,5,4,-1,4,5
程序应该返回3
。
我真的不知道,所以请帮个忙:)
PS。抱歉我的英语不好,希望你能理解
答案 0 :(得分:42)
打破你的问题。你能确定一种检查数字是否为负数的方法吗?
if number < 0:
...
现在,我们有很多数字,所以我们循环使用它们:
for number in numbers:
if number < 0:
...
那么我们想做什么?数数吧。所以我们这样做:
count = 0
for number in numbers:
if number < 0:
count += 1
更优化的是,使用generator expression和the sum()
built-in可以非常轻松地完成此操作:
>>> numbers = [1, 2, -3, 3, -7, 5, 4, -1, 4, 5]
>>> sum(1 for number in numbers if number < 0)
3
答案 1 :(得分:22)
sum(n < 0 for n in nums)
这是最狡猾的方式。
答案 2 :(得分:2)
或者您可以使用filter“过滤”否定数据。
total = len(filter(lambda x: x < 0, my_list))