2016-12-01 2 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

Первые две ошибки в этой функции __str__(self) Она должна быть '\tName: ' + self.name + '\tPrice: ' (Вы пропустили + знак и не включены \ т внутри одной цитаты.)

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

Я обновил ответ «\ tЦена:» также исправлено. –

+0

Я исправил это и все равно даю мне ту же ошибку. – Beginner

Смежные вопросы