Python Code


import tkinter as tk
from tkinter import messagebox

def fahrenheit(celsius):
    try:
        celsius = float(celsius)
        f = round((1.8 * celsius + 32), 1)
        result_label.config(text=f"{celsius}°C = {f}°F", fg="#333333")

        # Fun messages
        if f == -40:
            messagebox.showinfo("Notice", "Also known as Absolute Zero.")
        elif f < 1:
            messagebox.showinfo("Notice", "It's quite cold. Stay warm!")
        elif f > 95:
            messagebox.showinfo("Notice", "It's quite hot. Stay hydrated!")
    except ValueError:
        messagebox.showerror("Invalid Input", "Please enter a valid numeric value.")

root = tk.Tk()
root.title("Celsius to Fahrenheit Converter")
root.geometry("420x200")
root.configure(bg="#f9f9f9")

header_label = tk.Label(root, text="Temperature Converter", font=("Arial", 18, "bold"),
						 bg="#f9f9f9", fg="#222222")
header_label.pack(pady=10)

input_frame = tk.Frame(root, bg="#f9f9f9")
input_frame.pack(pady=5)

celsius_label = tk.Label(input_frame, text="Enter Celsius Temperature:", font=("Arial", 14),
						 bg="#f9f9f9", fg="#555555")
celsius_label.pack(side="left", padx=(0, 10))

celsius_entry = tk.Entry(input_frame, font=("Arial", 14), width=10, justify="center", bd=2, 
							relief="groove")
celsius_entry.pack(side="left")

convert_btn = tk.Button(root, text="Convert", font=("Arial", 14, "bold"), 
						command=lambda: fahrenheit(celsius_entry.get()),
						bg="#4CAF50", fg="white", padx=10, pady=5, bd=0,
						 relief="raised", activebackground="#45a049")
convert_btn.pack(pady=10)

result_label = tk.Label(root, text="", font=("Arial", 16), bg="#f9f9f9", fg="#333333")
result_label.pack(pady=5)

root.mainloop()