2012-11-15 212 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