【发布时间】:2014-03-31 19:19:18
【问题描述】:
我正在比较数字列表并为匹配方向分配“分数”。每场比赛的正面或负面应使参与者的分数增加 1。
例如:
list1 =[5.6, -7.1, 6.4]
list2 =[4.5, -2.0, -4.2]
应该给参与者打 2 分,因为 5.6 和 4.5 都是正数 (+1),-7.1 和 -2.0 都是负数 (+1)。
我可以很好地比较阳性结果:
def score2(list1, list2):
count = 0
for index in range (0, len(list1)):
if list1[index] and list2[index] > 0:
count += 1
return count
但是即使 -7.1 和 -2.0 都是负数,负数部分仍然返回 0。我之前在上一个函数中将其作为elif 部分,但我将其分开以进行调试:
def score3(list1, list2):
count = 0
for index in range (0, len(list1)):
if list1[index] and list2[index] < 0:
count += 1
return count
有趣的是,如果我这样做了
print list1[1] and list2[1] < 0
它确实打印了True。所以我不确定score3 有什么问题。
【问题讨论】:
标签: python