无法通过python来读取/显示我的变量

时间:2014-04-07 23:22:11

标签: python class variables

我一直在为这个项目工作几个小时,我仍然没有运气。我正在尝试创建一个“搜索引擎”,您可以在其中查找具有SKU编号的产品。

class SKU:
    def __init__(self, name, product):
        self.name = name
        self.product = product 
    def displaySKU(self):
        print "Sku Number : ", self.name,  ", Product: ", self.product

sku90100 = SKU("90100", "10310, 00310")
sku90101 = SKU("90101", "10024, 00024")
sku90102 = SKU("90102", "10023")
sku90103 = SKU("90103", "10025")
sku90104 = SKU("90104", "10410")
search = input("Please type SKU Number")
if search in range(90100, 90106):
    "sku",search.displaySKU

我的问题是我似乎无法显示SKU信息;我尝试删除,更改和添加字符到变量没有成功。我可能错过了你的一些东西,但我现在所有的一切都是我尝试过的。请帮我解决这个问题,并感谢您抽出宝贵时间阅读我的问题。

1 个答案:

答案 0 :(得分:4)

不要将每个产品存储为自己的变量,而是使用dict

skus = {}
skus[90100] = SKU("90100", "10310, 00310")
skus[90101] = SKU("90101", "10024, 00024")
skus[90102] = SKU("90102", "10023")
skus[90103] = SKU("90103", "10025")
skus[90104] = SKU("90104", "10410")

然后,您可以使用in检查成员资格,并调用.displaySKU()方法进行打印:

if search in skus:
    skus[search].displaySKU()

最后,对于Python 2,最好使用raw_input而不是inputraw_input会为您提供一个字符串,因此您希望将其转换为int以匹配您的skus键:

search = int(raw_input("Please type SKU Number"))