2015-05-02 44 views
0
def sales_per_zip(sales): 
    sales_sum = 0 
    i = 1 
    print(sales[1][0]) 
    zipcode = input("Enter the Zip Code here:") 
    if zipcode == sales[1][0]: 
     while i <= 6: 
      sales_sum =+ sales[1][i] 
      i =+ 1 
      print(i) 

    print(sales_sum) 

sales = [ 
["Zip Code", "Mocha", "Latte", "Regular", "Decaf", "Caramel"], 
[48093,180,100,200,180,150], 
[48088,270,330,160,150,250], 
[48026,240,310,450,100,320], 
[48066,200,230,350,110,360], 
] 
opt = "" 

print("What would you like to do?") 
print("Z = Get Total Sales by Zip Code.") 
print("C = Get Total Sales by Coffee Type.") 
print("G = Get Grand Total of all Coffee Sales.") 
print("HZ = Get Highest Sales by Zip Code.") 
print("HC = Get Highest Sales by Coffee Type.") 
opt = str(input("Enter your option here:")) 

if opt == "z" or opt == "Z": 
    sales_per_zip(sales) 
#elif opt == "c" or opt == "C": 
# 
#elif opt == "g" or opt == "G": 
# 
#elif opt == "hz" or opt == "HZ": 
# 
#elif opt == "hc" or opt == "HC": 

這是我迄今爲止。第一個def沒有正確地總結銷售額。輸出只是一個0我似乎無法明白爲什麼。我目前在我的第一個Python /編程類。我有這個在猛禽運行,但轉移到蟒蛇變得相當的任務...Python 3.4:試圖讓這個模塊總結這個二維數組中的銷售總數。不工作

回答

0

你有一些不正確的運營商=+而不是+=。另外,您需要將輸入的郵政編碼解析爲一個int。最後,while循環應該有<而不是<=,所以你不會得到IndexError。

def sales_per_zip(sales): 
    sales_sum = 0 
    i = 1 
    print(sales[1][0]) 
    zipcode = int(input("Enter the Zip Code here:")) 
    if zipcode == sales[1][0]: 
     while i < len(sales[1]): 
      sales_sum += sales[1][i] 
      i += 1 
      print(i) 

    print(sales_sum) 

另外,您可以添加另一個函數來確保您獲得有效的輸入郵政編碼。

def get_zipcode(): 
    try: 
     zipcode = int(input("Enter the Zip Code here:")) 
     return zipcode 
    except: 
     print("ERROR: zipcode must be an integer") 
     return get_zipcode() 

def sales_per_zip(sales): 
    sales_sum = 0 
    i = 1 
    print(sales[1][0]) 
    zipcode = get_zipcode() 
    if zipcode == sales[1][0]: 
     while i < len(sales[1]): 
      sales_sum += sales[1][i] 
      i += 1 
      print(i) 

    print(sales_sum) 
+0

非常感謝!我知道他們是簡單的錯誤,但在猛禽中工作真的使我的蟒蛇思維過程變得麻煩!再次感謝大家的快速回復! –

+0

沒問題!另一個快速提示。而不是檢查兩種情況,你可以這樣做:'opt = opt.lower()',然後檢查小寫字母。 – Brobin

+1

超好用!再次感謝。這裏有小費或捐贈按鈕嗎?你應該得到一個你喜歡的啤酒/流行/飲料!大聲笑 –