使用全局变量

时间:2012-11-15 19:46:02

标签: python global-variables

我的问题是指我以前的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'}

我一直在尝试和尝试,我要么得到全球名称“产品,国家,国家,......”没有定义或keyerror:“镍”。

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

    countries={}
    products={}

帮助将不胜感激,谢谢!

2 个答案:

答案 0 :(得分: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()

答案 1 :(得分:0)

考虑使用defaultdict而不是字面词典。