2014-07-15 47 views
-2

我有两个列表,abPython - 比较两个列表占帐

两列有5个值e.g:

a = [1,2,3,4,5] b = [2,3,4,5,6]

我需要一个函数来比较两个这样如果sum(a) < sum(b)b是赢家,而如果sum(a) > sum(b)a是赢家。

如果sum(a) == sum(b)

名单在第一位置的最高数量会赢得

在第二个领带,名单的情况下,在第二位置的最高数量会赢得

在进一步的关系事件,第三,第四和第五位将进行比较。

在完成平局的情况下,不返回任何值。

我已经去了这个,但我的解决方案是非常漫长和复杂的 - 我想知道是否有更简单的方法来解决这个问题。

+0

这是一个任务? –

+2

由于这不是代码写入服务,所以此问题似乎无关紧要。 – jonrsharpe

+0

如果你已经有了一个可行的解决方案,并想了解如何改进它的一些提示,你应该在[Code Review](http://codereview.stackexchange.com/)上提问(并在那里发布你的代码)。 –

回答

3

你只需要转换你叫什么程序,这样

a, b = [1, 2, 3, 4, 5], [2, 3, 4, 5, 6] 
total_a, total_b = sum(a), sum(b) 
if total_a < total_b: 
    print("B is bigger") 
elif total_b < total_a: 
    print("A is bigger") 
else: 
    for first, second in zip(a, b): 
     if first > second: 
      print("A is bigger") 
      break 
     elif second > first: 
      print("B is bigger") 
      break 
    else: 
     print("Draw")