С взрывом Covid, наслаждение выходными с отдыхом на свежем воздухе стало проблемой. В прошлые выходные моя лучшая половина была преобразована в USD в несколько валют, поэтому я создал приведенную ниже программу, чтобы помочь ей.
Концепция:
- Создайте пространство для пользовательского ввода (в нашем случае USD – это базовая валюта, которую необходимо преобразовать в другие валюты)
- Используйте API, чтобы получить данные и разобрать их.
- Представьте данные на экране пользовательского интерфейса.
Ниже приведен процесс, которым я следовал • Использование Python 3.9 (последняя версия) -Download здесь • Используйте библиотеку TKINTER для пользовательского интерфейса (PIP установка TKINTER) • Используйте библиотеку запросов для получения данных через API • Создайте кнопки, такие как «преобразовать», чтобы получить данные и очистить, чтобы стереть контент
Laying out the labels on the tkinter grid. # Create a Label widget with "USD" as label l0 =Label(window,text="USD") l0.grid(row=0,column=0) # The Label is placed in position 0, 0 in the window l1 = Label(window,text="INR") l1.grid(row=1,column=0) # The Label is placed in position 1, 0 in the window l2 = Label(window,text="GBP") l2.grid(row=1,column=1) # The Label is placed in position 1, 1 in the window …… e2 = Entry(window,textvariable=e2_value) # Create an Entry box for users to enter the value e2.grid(row=0,column=1) # Create a button widget # The from_currency() function is called when the button is pushed b1 = Button(window,text="Convert",command=from_currency) b1.grid(row=0,column=2) # The delete function is called when the button is pushed b2 = Button(window,text="Clear",command=delete) b2.grid(row=0,column=3) # Create four empty text boxes, t1, t2, t3 and t4 for values to show up t1 = Text(window,height=1,width=20) t1.grid(row=2,column=0) Fetch Data via URL # Where USD is the base currency you want to use url = 'https://v6.exchangerate-api.com/v6/KEY/latest/USD/' # Making our request response = requests.get(url) data = response.json() # Your JSON object print(data['conversion_rates']['USD'])
Функции
def from_currency(): # Get user value from input box and multiply by today's conversion rate to get INR and round it to 2 decimals rupees = round(float(e2_value.get()) * data['conversion_rates']['INR'],2) # Get user value from input box and multiply by today's conversion rate to get GBP pound = round(float(e2_value.get())*data['conversion_rates']['GBP'],2) ……. Empty the Text boxes if they had text from the previous use and fill them again t1.delete("1.0", END) # Deletes the content of the Text box from start to END …… def delete(): # Deletes content from t1 Text box t1.delete("1.0", END) # Deletes content from t2 Text box t2.delete("1.0", END)
Код в GitHub.
ОБНОВЛЕНИЕ: На основании добавленного биткойна спроса.
Достигайтесь ко мне на моем Твиттер
Примечание: Спасибо Джону Макартуру за это фото через @unsplash 🎁
Другой предмет для изучения:
Красивые дизайнерские иллюстрации бесплатно
Swapan Roy ・ 9 июля 2 мин. читать
Словарь с использованием вызовов API в Python (с произношением)
Swapan Roy ・ 8 мая ・ 2 мин Читает
Оригинал: “https://dev.to/swapanroy/currency-converter-with-python-9ef”