'''
Currency Converter App
Fetches real-time exchange rates online and provides a modern and intuitive GUI.
Author: Programmer
'''
import tkinter as tk
import requests
class CurrencyConverterApp:
def __init__(self):
self.window = tk.Tk()
self.window.title("Currency Converter")
self.amount_label = tk.Label(self.window, text="Amount:")
self.amount_label.pack()
self.amount_entry = tk.Entry(self.window)
self.amount_entry.pack()
self.from_currency_label = tk.Label(self.window, text="From Currency:")
self.from_currency_label.pack()
self.from_currency_entry = tk.Entry(self.window)
self.from_currency_entry.pack()
self.to_currency_label = tk.Label(self.window, text="To Currency:")
self.to_currency_label.pack()
self.to_currency_entry = tk.Entry(self.window)
self.to_currency_entry.pack()
self.convert_button = tk.Button(self.window, text="Convert", command=self.convert)
self.convert_button.pack()
self.result_label = tk.Label(self.window, text="")
self.result_label.pack()
def run(self):
self.window.mainloop()
def convert(self):
amount = float(self.amount_entry.get())
from_currency = self.from_currency_entry.get().upper()
to_currency = self.to_currency_entry.get().upper()
if from_currency == to_currency:
self.result_label.config(text="Cannot convert between the same currency.")
return
try:
response = requests.get(f"https://api.exchangerate-api.com/v4/latest/{from_currency}")
response.raise_for_status() # Add this line to raise an exception if the request fails
exchange_rates = response.json()["rates"]
if to_currency in exchange_rates:
converted_amount = amount * exchange_rates[to_currency]
self.result_label.config(text=f"{amount} {from_currency} = {converted_amount} {to_currency}")
else:
self.result_label.config(text=f"Invalid currency: {to_currency}")
except requests.exceptions.RequestException as e:
self.result_label.config(text="Failed to fetch exchange rates. Please try again later.")
print(f"RequestException: {e}")
except requests.exceptions.HTTPError as e:
self.result_label.config(text="Failed to fetch exchange rates. Please try again later.")
print(f"HTTPError: {e}")
if __name__ == "__main__":
app = CurrencyConverterApp()
app.run()
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
这个Currency Converter App是一个实时货币转换器应用程序,提供现代和直观的GUI界面。它能够获取在线实时的汇率,并通过用户输入的金额和货币进行转换,并在界面上显示转换后的结果。用户只需输入金额、原始货币和目标货币,点击Convert按钮即可完成转换。该应用程序支持各种常见货币,并提供错误处理和异常处理功能,确保能够正常获取和转换汇率。是一个方便实用的货币转换工具。
资源推荐
资源详情
资源评论
收起资源包目录
CurrencyWiz.zip (1个子文件)
CurrencyWiz
main.py 3KB
共 1 条
- 1
资源评论
- 忧伤的玩不起2023-12-16东西不错,对我很有帮助
失去的十年
- 粉丝: 241
- 资源: 20
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功