برنامه تبدیل ارز در پایتون — راهنمای کاربردی
«زبان برنامهنویسی پایتون» (Python Programming Language) گزینههای گوناگونی را برای توسعه «رابط برنامهنویسی کاربردی» (Graphical User Interface | GUI) ارائه میکند. در میان همه متدهای GUI موجود در پایتون، tkinter پرکاربردترین متد است. این یک رابط پایتون استاندارد برای جعبه ابزار Tk GUI است که با پایتون ارائه میشود. پایتون با tkinter سریعترین خروجیها و سادهترین راهکارها برای ساخت برنامههای کاربردی GUI را ارائه میکند. برای ساختن برنامه کاربردی با tkinter ابتدا باید اقدامات زیر انجام شود.
- «وارد» (Import) کردن ماژول tkinter
- ساخت پنجره اصلی (ظرف | Container)
- افزودن «ویجتها» (Widgets) به پنجره اصلی
- اعمال Trigger رویداد روی ویجتها
در ادامه، یک مبدل ارز زمان واقعی ساده مبتنی بر GUI ساخته میشود که میتواند هر یک از ارزها را به دیگری تبدیل کند. ماژولهای مورد نیاز برای این کار، requests ،tkinter و json هستند. در ادامه، کد پیادهسازی این پروژه ارائه شده است.
# import all functions from the tkinter
from tkinter import *
# Create a GUI window
root = Tk()
# create a global variables
variable1 = StringVar(root)
variable2 = StringVar(root)
# initialise the variables
variable1.set("currency")
variable2.set("currency")
# Function to perform real time conversion
# from one currency to another currency
def RealTimeCurrencyConversion():
# importing required libraries
import requests, json
# currency code
from_currency = variable1.get()
to_currency = variable2.get()
# enter your api key here
api_key = "Your_Api_Key"
# base_url variable store base url
base_url = r"https://www.alphavantage.co/query?function = CURRENCY_EXCHANGE_RATE"
# main_url variable store complete url
main_url = base_url + "&from_currency =" + from_currency +
"&to_currency =" + to_currency + "&apikey =" + api_key
# get method of requests module
# return response object
req_ob = requests.get(main_url)
# json method return json format
# data into python dictionary data type.
# result contains list of nested dictionaries
result = req_ob.json()
# parsing the required information
Exchange_Rate = float(result["Realtime Currency Exchange Rate"]
['۵٫ Exchange Rate'])
# get method of Entry widget
# returns current text as a
# string from text entry box.
amount = float(Amount1_field.get())
# calculation for the conversion
new_amount = round(amount * Exchange_Rate, 3)
# insert method inserting the
# value in the text entry box.
Amount2_field.insert(0, str(new_amount))
# Function for clearing the Entry field
def clear_all() :
Amount1_field.delete(0, END)
Amount2_field.delete(0, END)
# Driver code
if __name__ == "__main__" :
# Set the background colour of GUI window
root.configure(background = 'light green')
# Set the configuration of GUI window (WidthxHeight)
root.geometry("400x175")
# Create welcome to Real Time Currency Convertor label
headlabel = Label(root, text = 'welcome to Real Time Currency Convertor',
fg = 'black', bg = "red")
# Create a "Amount :" label
label1 = Label(root, text = "Amount :",
fg = 'black', bg = 'dark green')
# Create a "From Currency :" label
label2 = Label(root, text = "From Currency",
fg = 'black', bg = 'dark green')
# Create a "To Currency: " label
label3 = Label(root, text = "To Currency :",
fg = 'black', bg = 'dark green')
# Create a "Converted Amount :" label
label4 = Label(root, text = "Converted Amount :",
fg = 'black', bg = 'dark green')
# grid method is used for placing
# the widgets at respective positions
# in table like structure .
headlabel.grid(row = 0, column = 1)
label1.grid(row = 1, column = 0)
label2.grid(row = 2, column = 0)
label3.grid(row = 3, column = 0)
label4.grid(row = 5, column = 0)
# Create a text entry box
# for filling or typing the information.
Amount1_field = Entry(root)
Amount2_field = Entry(root)
# ipadx keyword argument set width of entry space.
Amount1_field.grid(row = 1, column = 1, ipadx ="25")
Amount2_field.grid(row = 5, column = 1, ipadx ="25")
# list of currency codes
CurrenyCode_list = ["INR", "USD", "CAD", "CNY", "DKK", "EUR"]
# create a drop down menu using OptionMenu function
# which takes window name, variable and choices as
# an argument. use * befor the name of the list,
# to unpack the values
FromCurrency_option = OptionMenu(root, variable1, *CurrenyCode_list)
ToCurrency_option = OptionMenu(root, variable2, *CurrenyCode_list)
FromCurrency_option.grid(row = 2, column = 1, ipadx = 10)
ToCurrency_option.grid(row = 3, column = 1, ipadx = 10)
# Create a Convert Button and attached
# with RealTimeCurrencyExchangeRate function
button1 = Button(root, text = "Convert", bg = "red", fg = "black",
command = RealTimeCurrencyConversion)
button1.grid(row = 4, column = 1)
# Create a Clear Button and attached
# with delete function
button2 = Button(root, text = "Clear", bg = "red",
fg = "black", command = clear_all)
button2.grid(row = 6, column = 1)
# Start the GUI
root.mainloop()
خروجی قطعه کد بالا به صورت زیر است.
اگر نوشته بالا برای شما مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای برنامهنویسی پایتون
- آموزش تکمیلی برنامهنویسی پایتون
- مجموعه آموزشهای دادهکاوی و یادگیری ماشین
- زبان برنامهنویسی پایتون (Python) — از صفر تا صد
- یادگیری علم داده (Data Science) با پایتون — از صفر تا صد
- آموزش پایتون (Python) — مجموعه مقالات جامع وبلاگ فرادرس
مجموعه: برنامه نویسی برچسب ها: آموزش پایتون, برنامه تبدیل ارز, پایتون, تبدیل ارز در پایتون, مبدل ارز