Вы не сказали этого, но я предполагаю, что сообщение TypeError: 'str' object is not callable
появляется в этой строке:
convert2 = "USA Dollars", str('£.2f' '£'(convert1))
(или одно из нескольких, похожих на это).Чтобы избавиться от ошибки, исправьте оператор присваивания:
convert2 = "USA Dollars", str('£%.2f' % convert1)
или лучше, поскольку он проще и эквивалентнее:
convert2 = "USA Dollars", '£%.2f' % convert1
В результате convert2
будет выглядеть примерно так:this:
('USA Dollars', '£1.33')
Проблема в том, что currency
- это Tkinter DoubleVar
, и его метод set
не ожидает кортеж из двух строк: он ожидает float, что-то вроде 1.33
(число, без кавычек и знака GBP).Так что исправление задания просто переместит вашу проблему.
Могу ли я предложить вам начать с базовой логики конвертации валют, работающей сначала в простой, но недружественной, консольной программе, и рассматривать реализацию Tkinter как этап 2?