2012-11-15 140 views
0

我的問題是指我以前能解決的python問題,並使其完美工作。 How do I print something and then its list?使用全局變量

最近,我已經引入了全局變量,但我不知道如何使用它們,我已經得到了它,我不能改變兩個功能:

def who_exports(product): 
    return products[product] 

def what_exports(country): 
    return countries[country] 

我必須編寫一個名爲prepare_data()的函數來準備數據並使所有變量和這兩個函數都起作用。它爲who_exports和what_exports準備數據。 它應該這樣:

who_exports("nickel") 
{'Botswana', 'Colombia', 'Cuba'} 

然後

what_exports("Yemen") 
{' oil, coffee, fish, liquefied natural gas'} 

我一直在努力,努力,我要麼得到全局名稱「的產品,國家,國家,...」沒有定義或更糟糕的:「鎳」。

def prepare_data(): 
    global products 
    global product 
    global countries 
    global country 

    countries={} 
    products={} 

幫助,將不勝感激,謝謝!

+1

請勿使用它們。他們正確選擇的次數非常少。 – Marcin

+0

由於您之前的問題已解決,您是否希望接受其中一個有用的答案? – greeness

回答

1

我不清楚爲什麼你需要countryproduct作爲全局變量,因爲你可以調用who_exports('nickel'),指定特定的product

雖然這是我爲countriesproducts所做的。

def prepare_data(): 
    countries = {'Yemen' : 'oil, coffee, fish, liquefied natural gas'} 
    products = {'nickel' : ['Botswana', 'Colombia', 'Cuba']} 
    return countries, products 

countries, products = prepare_data() 
+0

我得到KeyError:「Nickel」 – user1824179

+0

@ user1824179:你是否在填充這些字典?你究竟在做什麼來產生關鍵錯誤? – erbridge

+0

我打電話給誰導出函數... – user1824179