কনভার্টার (মুদ্রা, তাপমাত্রা, ইত্যাদি)

প্র্যাকটিস প্রোজেক্টস - পাইথন ৩ (Python 3) - Computer Programming

227

কনভার্টার অ্যাপ্লিকেশন হলো একটি প্রোজেক্ট যেখানে বিভিন্ন ইউনিটের মধ্যে কনভার্শন করা যায়। উদাহরণস্বরূপ, মুদ্রা কনভার্টার, তাপমাত্রা কনভার্টার, দৈর্ঘ্য কনভার্টার ইত্যাদি। এই প্রজেক্টে আমরা Tkinter ব্যবহার করে GUI সহ একটি কনভার্টার অ্যাপ তৈরি করব, যেখানে মুদ্রা এবং তাপমাত্রা কনভার্শনের ফিচার থাকবে। মুদ্রা কনভার্শনের জন্য আমরা API ব্যবহার করব যাতে রিয়েল-টাইম এক্সচেঞ্জ রেট পাওয়া যায়।


প্রজেক্ট: কনভার্টার অ্যাপ্লিকেশন (মুদ্রা এবং তাপমাত্রা)

ফিচারস

  1. মুদ্রা কনভার্টার: নির্দিষ্ট মুদ্রার এক্সচেঞ্জ রেট ব্যবহার করে একটি মুদ্রা থেকে অন্য মুদ্রায় কনভার্ট করা।
  2. তাপমাত্রা কনভার্টার: সেলসিয়াস থেকে ফারেনহাইট এবং ফারেনহাইট থেকে সেলসিয়াস কনভার্ট করা।

প্রয়োজনীয় লাইব্রেরি

  • tkinter: GUI তৈরি করতে।
  • requests: মুদ্রা এক্সচেঞ্জ রেট API কল করতে।

প্রথমে টার্মিনালে requests লাইব্রেরি ইন্সটল করতে হবে:

pip install requests

Step 1: Tkinter GUI সেটআপ করা

import tkinter as tk
from tkinter import ttk, messagebox
import requests

Step 2: মুদ্রা কনভার্টারের ফাংশন

মুদ্রা কনভার্টার ফাংশনের জন্য আমরা ExchangeRate API ব্যবহার করব। (আপনার এক্সচেঞ্জ রেট API থেকে একটি API কী সংগ্রহ করতে হবে)

# মুদ্রা কনভার্ট করার জন্য API কল ফাংশন
def convert_currency():
    amount = float(amount_entry.get())
    from_currency = from_currency_var.get()
    to_currency = to_currency_var.get()
    api_key = "YOUR_API_KEY"  # এখানে আপনার API কী লিখুন

    url = f"https://v6.exchangerate-api.com/v6/{api_key}/pair/{from_currency}/{to_currency}"
    response = requests.get(url)
    
    if response.status_code == 200:
        data = response.json()
        rate = data["conversion_rate"]
        converted_amount = amount * rate
        result_label.config(text=f"{amount} {from_currency} = {converted_amount:.2f} {to_currency}")
    else:
        messagebox.showerror("Error", "Failed to fetch exchange rate.")

Step 3: তাপমাত্রা কনভার্টারের ফাংশন

# তাপমাত্রা কনভার্টার ফাংশন
def convert_temperature():
    temp = float(temp_entry.get())
    from_unit = temp_from_var.get()
    to_unit = temp_to_var.get()
    
    if from_unit == "Celsius" and to_unit == "Fahrenheit":
        converted_temp = (temp * 9/5) + 32
    elif from_unit == "Fahrenheit" and to_unit == "Celsius":
        converted_temp = (temp - 32) * 5/9
    else:
        converted_temp = temp
    
    temp_result_label.config(text=f"{temp} {from_unit} = {converted_temp:.2f} {to_unit}")

Step 4: Tkinter GUI ইন্টারফেস তৈরি করা

# মেইন Tkinter উইন্ডো তৈরি
root = tk.Tk()
root.title("Converter App")
root.geometry("400x400")

# মুদ্রা কনভার্টার GUI
currency_frame = tk.LabelFrame(root, text="Currency Converter")
currency_frame.pack(pady=20)

amount_label = tk.Label(currency_frame, text="Amount:")
amount_label.grid(row=0, column=0, padx=5, pady=5)
amount_entry = tk.Entry(currency_frame)
amount_entry.grid(row=0, column=1, padx=5, pady=5)

from_currency_var = tk.StringVar(value="USD")
to_currency_var = tk.StringVar(value="EUR")

from_currency_label = tk.Label(currency_frame, text="From:")
from_currency_label.grid(row=1, column=0, padx=5, pady=5)
from_currency_menu = ttk.Combobox(currency_frame, textvariable=from_currency_var, values=["USD", "EUR", "GBP", "INR", "BDT"])
from_currency_menu.grid(row=1, column=1, padx=5, pady=5)

to_currency_label = tk.Label(currency_frame, text="To:")
to_currency_label.grid(row=2, column=0, padx=5, pady=5)
to_currency_menu = ttk.Combobox(currency_frame, textvariable=to_currency_var, values=["USD", "EUR", "GBP", "INR", "BDT"])
to_currency_menu.grid(row=2, column=1, padx=5, pady=5)

convert_currency_button = tk.Button(currency_frame, text="Convert", command=convert_currency)
convert_currency_button.grid(row=3, column=0, columnspan=2, pady=10)
result_label = tk.Label(currency_frame, text="")
result_label.grid(row=4, column=0, columnspan=2)

# তাপমাত্রা কনভার্টার GUI
temperature_frame = tk.LabelFrame(root, text="Temperature Converter")
temperature_frame.pack(pady=20)

temp_label = tk.Label(temperature_frame, text="Temperature:")
temp_label.grid(row=0, column=0, padx=5, pady=5)
temp_entry = tk.Entry(temperature_frame)
temp_entry.grid(row=0, column=1, padx=5, pady=5)

temp_from_var = tk.StringVar(value="Celsius")
temp_to_var = tk.StringVar(value="Fahrenheit")

from_temp_label = tk.Label(temperature_frame, text="From:")
from_temp_label.grid(row=1, column=0, padx=5, pady=5)
from_temp_menu = ttk.Combobox(temperature_frame, textvariable=temp_from_var, values=["Celsius", "Fahrenheit"])
from_temp_menu.grid(row=1, column=1, padx=5, pady=5)

to_temp_label = tk.Label(temperature_frame, text="To:")
to_temp_label.grid(row=2, column=0, padx=5, pady=5)
to_temp_menu = ttk.Combobox(temperature_frame, textvariable=temp_to_var, values=["Celsius", "Fahrenheit"])
to_temp_menu.grid(row=2, column=1, padx=5, pady=5)

convert_temp_button = tk.Button(temperature_frame, text="Convert", command=convert_temperature)
convert_temp_button.grid(row=3, column=0, columnspan=2, pady=10)
temp_result_label = tk.Label(temperature_frame, text="")
temp_result_label.grid(row=4, column=0, columnspan=2)

root.mainloop()

পূর্ণ কোড একসাথে

import tkinter as tk
from tkinter import ttk, messagebox
import requests

# মুদ্রা কনভার্ট করার জন্য API কল ফাংশন
def convert_currency():
    amount = float(amount_entry.get())
    from_currency = from_currency_var.get()
    to_currency = to_currency_var.get()
    api_key = "YOUR_API_KEY"  # এখানে আপনার API কী লিখুন

    url = f"https://v6.exchangerate-api.com/v6/{api_key}/pair/{from_currency}/{to_currency}"
    response = requests.get(url)
    
    if response.status_code == 200:
        data = response.json()
        rate = data["conversion_rate"]
        converted_amount = amount * rate
        result_label.config(text=f"{amount} {from_currency} = {converted_amount:.2f} {to_currency}")
    else:
        messagebox.showerror("Error", "Failed to fetch exchange rate.")

# তাপমাত্রা কনভার্টার ফাংশন
def convert_temperature():
    temp = float(temp_entry.get())
    from_unit = temp_from_var.get()
    to_unit = temp_to_var.get()
    
    if from_unit == "Celsius" and to_unit == "Fahrenheit":
        converted_temp = (temp * 9/5) + 32
    elif from_unit == "Fahrenheit" and to_unit == "Celsius":
        converted_temp = (temp - 32) * 5/9
    else:
        converted_temp = temp
    
    temp_result_label.config(text=f"{temp} {from_unit} = {converted_temp:.2f} {to_unit}")

# মেইন Tkinter উইন্ডো তৈরি
root = tk.Tk()
root.title("Converter App")
root.geometry("400x400")

# মুদ্রা কনভার্টার GUI
currency_frame = tk.LabelFrame(root, text="Currency Converter")
currency_frame.pack(pady=20)

amount_label = tk.Label(currency_frame, text="Amount:")
amount_label.grid(row=0, column=0, padx=5, pady=5)
amount_entry = tk.Entry(currency_frame)
amount_entry.grid(row=0, column=1, padx=5, pady=5)

from_currency_var = tk.StringVar(value="USD")
to_currency_var = tk.StringVar(value="EUR")

from_currency_label = tk.Label(currency_frame, text="From:")
from_currency_label.grid(row=1, column=0, padx=5, pady=5)
from_currency_menu = ttk.Combobox(currency_frame, textvariable=from_currency_var, values=["USD", "EUR", "GBP", "INR", "BDT"])
from_currency_menu.grid(row=1, column=1, padx=5, pady=5)

to_currency_label = tk.Label(currency_frame, text="To:")
to_currency_label.grid(row=2, column=0, padx=5, pady=5)
to_currency_menu = ttk.Combobox(currency_frame, textvariable=to_currency_var, values=["USD", "EUR", "GBP", "INR", "BDT"])
to_currency_menu.grid(row=2, column=1, padx=5, pady=5)

convert_currency_button = tk.Button(currency_frame, text="Convert", command=convert_currency)
convert_currency_button.grid(row=3, column=0, columnspan=2, pady=10)
result_label = tk.Label(currency_frame, text="")
result_label.grid(row=4, column=0, columnspan=2)

# তাপমাত্রা কনভার্টার GUI
temperature_frame = tk.LabelFrame(root, text="Temperature Converter")
temperature_frame.pack(pady=20)

temp_label = tk.Label(temperature_frame, text="Temperature:")
temp_label.grid(row=0, column=0, padx=5, pady=5)
temp_entry = tk.Entry(temperature_frame)
temp_entry.grid(row=0, column=1, padx=5, pady=5)

temp_from_var = tk.StringVar(value="Celsius")
temp_to_var = tk.StringVar(value="Fahrenheit")

from_temp_label = tk.Label(temperature_frame, text="From:")
from_temp_label.grid(row=1, column=0, padx=5, pady=5)
from_temp_menu = ttk.Combobox(temperature_frame, textvariable=temp_from_var, values=["Celsius", "Fahrenheit"])
from_temp_menu.grid(row=1, column=1, padx=5, pady=5)

to_temp_label = tk.Label(temperature_frame, text="To:")
to_temp_label.grid(row=2, column=0, padx=5, pady=5)
to_temp_menu = ttk.Combobox(temperature_frame, textvariable=temp_to_var, values=["Celsius", "Fahrenheit"])
to_temp_menu.grid(row=2, column=1, padx=5, pady=5)

convert_temp_button = tk.Button(temperature_frame, text="Convert", command=convert_temperature)
convert_temp_button.grid(row=3, column=0, columnspan=2, pady=10)
temp_result_label = tk.Label(temperature_frame, text="")
temp_result_label.grid(row=4, column=0, columnspan=2)

root.mainloop()

উপসংহার

এই কনভার্টার অ্যাপটি আপনাকে বিভিন্ন মুদ্রা এবং তাপমাত্রা কনভার্ট করতে সাহায্য করবে। এটি সহজে Tkinter দিয়ে GUI তৈরি করে requests লাইব্রেরি দিয়ে রিয়েল-টাইম মুদ্রার এক্সচেঞ্জ রেট API থেকে ডেটা এনে কাজ করবে।

Content added By
Promotion

Are you sure to start over?

Loading...