2014-07-15 64 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")