Задать вопрос
@mikki20041

AttributeError: 'str' object has no attribute как искправить?

Недавно начал изучать ООП в Python. Пытаюсь написать программу в которой нужно посчитать сколько пользователю надо заплатить за покупку одной из двух валют. Но выводится ошибка AttributeError: 'str' object has no attribute 'exchange_usd' подскажите пожалуйста, что не так в коде?

class Converter():
    
    def __init__(self, eur, usd):
        self.usd = usd
        self.eur = eur
    
    def exchange_usd(self, usd):
        self.usd*70
        print(f"Стоимость покупки {self.usd}$ будет составлять {purchase}")
    
    def exchange_eur(self, eur):
        self.eur*80
        print(f"Стоимость покупки {self.eur}€ будет составлять {purchase}")

purchase = Converter("eur", "usd")
bank_user = input('Какую валюту хотите купить: ')

if bank_user == 'usd':
    purchase = input('Сколько хотите купить: ')
    purchase.exchange_usd()

elif bank_user == 'eur':
    purchase = input('Сколько хотите купить: ')
    purchase.exchange_eur()
  • Вопрос задан
  • 282 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 2
SoreMix
@SoreMix Куратор тега Python
yellow
Во-первых, в purchase лежит строка, после того как сделали input
В классе имя purchase не определно, о чем говорит редактор
self.usd*70 ничего не изменяет
purchase.exchange_usd() не передали аргументы
self.usd*70 умножает строку "usd" 70 раз
Ответ написан
Комментировать
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
Вы затёрли в переменной purchase объект класса Converter строкой из input'а.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы