@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()
  • Вопрос задан
  • 268 просмотров
Решения вопроса 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'а.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
SpectrumData Екатеринбург
от 150 000 до 200 000 ₽
Гринатом Москва
от 150 000 ₽
DIGITAL SECTOR Краснодар
от 150 000 до 250 000 ₽
26 июн. 2024, в 02:23
5000 руб./за проект
26 июн. 2024, в 00:28
5000 руб./за проект
25 июн. 2024, в 23:31
1500 руб./за проект