2016-12-01 13 views
1
class System: 
    def __init__(self,code,name,price): 
     self.name = name 
     self.price = price 
     self.code = code 

    def __str__(self): 
     return 'Code: ' + self.code + '\tName: ' self.name + \'tPrice: ' + self.price 

    def choose_item(self): 
     count = 0 
     for item in self.name: 
      print str(count) + '\t' item.name + '\t' + item.cost 
      count += 1 
     question = raw_input('Enter the code: ') 
     if question == 0: 
      exit() 
     elif choice != self.code: 
      print 'Invalid code' 
     else: 
      index = question -1 
     name[index].self.choose_item() 
     print 'Your item has been added' 

このエラーは発生しており、間違いを見ることはできません。アイテムを追加するためにコードをキー入力してアイテムを選択したいと思います。これが正しい方法であるかどうかは不明です。AttributeError: 'str'オブジェクトに属性 'name'がありません

AttributeError: 'str' object has no attribute 'name' 
+0

元のコードは変更しないでください。間違いを犯したままにしておくと、これを通過した人は、提供された回答と混同されます。 –

答えて

0

最初の2つのエラーがそれは'\tName: ' + self.name + '\tPrice: ' があるべき__str__(self) この機能である(あなたが+兆候を見逃していると、単一引用符内の\ tを含めていない。)

return 'Code: ' + self.code + '\tName: ' + self.name + '\tPrice: ' + self.price 

次にchoose_item(self)機能に。 (Missing + sign)

print str(count) + '\t' + item.name + '\t' + item.cost 
+0

ありがとう@ MarlonAbeykoon私はコードを変更しても、私には同じエラーを与える。コードを修正するための提案はありますか? – Beginner

+0

「\ tPrice:」の回答も更新されました。 –

+0

私はそれを修正して、私にも同じエラーを与えます。 – Beginner

関連する問題