محول العملات - مشروع بايثون مع كود المصدر
في هذا البرنامج التعليمي ، سنقوم ببناء مشروع بيثون مثير يمكنك من خلاله تحويل العملات. بالنسبة لواجهة المستخدم ، سنستخدم
. tkinter مكتبة
محول العملات في بايثون
المتطلبات الأساسية
. pygame يتطلب مشروع محول العملات في بايثون أن تكون لديك معرفة أساسية ببرمجة بايثون ومكتبة
* tkinter : لواجهة المستخدم
* requests : للحصول على رابط
: اكتب الكود التالي في جهازك tkinter and requests لتثبيت مكتبة
- pip install tkinter
- pip install requests
خطوات بناء مشروع بايثون على محول العملات
أسعار الصرف في الوقت الحقيقي
استيراد المكتبات المطلوبة
CurrencyConverter كلاس
CurrencyConverterواجهة المستخدم
الوظيفة الأساسية
أسعار الصرف في الوقت الحقيقي -
: للحصول على أسعار الصرف في الوقت الفعلي ، سوف نستخدم
- https://api.exchangerate-api.com/v4/latest/USD

: مع التفاصيل التالية,JSON هنا ، يمكننا رؤية البيانات بتنسيق
Base – USD : USD يعني أن لدينا عملتنا الأساسية
. مما يعني تحويل أي عملة علينا أولاً الي الدولار الامريكي اولا ثم بددلك نوقو بحويلها الي عملة اخري
التاريخ والوقت: يعرض تاريخ ووقت آخر تحديث
الأسعار: هو سعر صرف العملات مع العملة الأساسية بالدولار الأمريكي
استيراد المكتبات -
لذلك نحن بحاجة إلى استيراد المكتبة tkinter and requests بالنسبة لهذا المشروع المستند إلى بايثون فإننا نستخدم مكتبة
- import requests
- from tkinter import *
- import tkinter as tk
- from tkinter import ttk
CurrencyConverter انشاء كلاس -
; التي ستحصل على سعر الصرف في الوقت CurrencyConverter سنقوم الآن بإنشاءكلاس
. الفعلي وتحويل العملة وإرجاع المبلغ المحول
منشئ الكلاس
- class CurrencyConverter():
- def __init__(self,url):
- self.data= requests.get(url).json()
- self.currencies = self.data['rates']
Convert() method:
- def convert(self, from_currency, to_currency, amount):
- initial_amount = amount
- if from_currency != 'USD' :
- amount = amount / self.currencies[from_currency]
- amount = round(amount * self.currencies[to_currency], 4)
- return amount
. نلاحظ ان الدلة تستقبل ثلاثة مدخلات
From_currency: العملة التي تريد التحويل منها
to_currency : العملة التي تريد التحويل بها
Amount : المبلغ الذي تريد تحويله
CurrencyConverterواجهة المستخدم -
CurrencyConverterUI لإنشاء واجهة مستخدم سنقوم بإنشاءكلاس
- def __init__(self, converter):
- tk.Tk.__init__(self)
- self.title = 'Currency Converter'
- self.currency_converter = converter
. المحول: كائن محول العملات الذي سنستخدمه لتحويل العملات. أعلاه رمز إنشاء إطار
لنقم بإنشاء المحول
- self.geometry("500x200")
- #Label
- self.intro_label = Label(self, text = 'Welcome to Real Time Currency Convertor', fg = 'blue', relief = tk.RAISED, borderwidth = 3)
- self.intro_label.config(font = ('Courier',15,'bold'))
- self.date_label = Label(self, text = f"1 Indian Rupee equals = {self.currency_converter.convert('INR','USD',1)} USD \n Date : {self.currency_converter.data['date']}", relief = tk.GROOVE, borderwidth = 5)
- self.intro_label.place(x = 10 , y = 5)
- self.date_label.place(x = 170, y= 50)
أولاً ، قمنا بإعداد الإطار وإضافة بعض المعلومات فيه. بعد تنفيذ هذا الجزء من الكود ، يبدو
. إطارنا كشيء ما
لنقم الآن بإنشاء مربع إدخال للمبلغ وخيارات العملة في الإطار. بحيث يمكن للمستخدمين إدخال
. المبلغ والاختيار من بين العملات
- valid = (self.register(self.restrictNumberOnly), '%d', '%P')
- self.amount_field = Entry(self,bd = 3, relief = tk.RIDGE, justify = tk.CENTER,validate='key', validatecommand=valid)self.converted_amount_field_label = Label(self, text = '', fg = 'black', bg = 'white', relief = tk.RIDGE, justify = tk.CENTER, width = 17, borderwidth = 3)
- self.from_currency_variable = StringVar(self)self.from_currency_variable.set("INR") self.to_currency_variable = StringVar(self)self.to_currency_variable.set("USD")
- font = ("Courier", 12, "bold")
- self.option_add('*TCombobox*Listbox.font', font)
- self.from_currency_dropdown = ttk.Combobox(self, textvariable=self.from_currency_variable,values=list(self.currency_converter.currencies.keys()), font = font, state = 'readonly', width = 12, justify = tk.CENTER)
- self.to_currency_dropdown = ttk.Combobox(self, textvariable=self.to_currency_variable,values=list(self.currency_converter.currencies.keys()), font = font, state = 'readonly', width = 12, justify = tk.CENTER)
- self.from_currency_dropdown.place(x = 30, y= 120)
- self.amount_field.place(x = 36, y = 150)
- self.to_currency_dropdown.place(x = 340, y= 120)
- #self.converted_amount_field.place(x = 346, y = 150)
- self.converted_amount_field_label.place(x = 346, y = 150
Main function () الوظيفة الأساسية -
- if __name__ == '__main__':
- url = 'https://api.exchangerate-api.com/v4/latest/USD'
- converter = RealTimeCurrencyConverter(url)
- App(converter)
- mainloop()
لتحميل الكود كامل منها
***********************
***********************
إرسال تعليق