تمرین برنامه نویسی؛ با کدبزن!

منبع جامع سوالات و تمرینات برنامه نویسی

ماشین حساب گرافیکی

آسان 12/ دانلود 385 بازدید

برنامه گرافیکی بنویسید که داری 2 فیلد برای ورود عدد و 4 دکمه برای جمع و تفریق و ضرب و تقسیم باشد. با انتخاب هر دکمه، محاسبات مربوطه روی 2 عدد وارد شده انجام شود و نتیجه نمایش داده شود.

2 جواب

نمیتونم این تمرین رو حل کنم!
import tkinter as tk
from tkinter import messagebox

def add():
    try:
        num1 = float(entry1.get())
        num2 = float(entry2.get())
        result = num1 + num2
        label_result.config(text=f"نتیجه: {result}")
    except ValueError:
        messagebox.showerror("خطا", "لطفاً اعداد صحیح وارد کنید.")

def subtract():
    try:
        num1 = float(entry1.get())
        num2 = float(entry2.get())
        result = num1 - num2
        label_result.config(text=f"نتیجه: {result}")
    except ValueError:
        messagebox.showerror("خطا", "لطفاً اعداد صحیح وارد کنید.")

def multiply():
    try:
        num1 = float(entry1.get())
        num2 = float(entry2.get())
        result = num1 * num2
        label_result.config(text=f"نتیجه: {result}")
    except ValueError:
        messagebox.showerror("خطا", "لطفاً اعداد صحیح وارد کنید.")

def divide():
    try:
        num1 = float(entry1.get())
        num2 = float(entry2.get())
        if num2 == 0:
            raise ZeroDivisionError
        result = num1 / num2
        label_result.config(text=f"نتیجه: {result}")
    except ValueError:
        messagebox.showerror("خطا", "لطفاً اعداد صحیح وارد کنید.")
    except ZeroDivisionError:
        messagebox.showerror("خطا", "تقسیم بر صفر امکان‌پذیر نیست.")

# ایجاد پنجره اصلی
root = tk.Tk()
root.title("ماشین حساب ساده")

# ایجاد فیلدهای ورودی
entry1 = tk.Entry(root)
entry1.pack(pady=10)

entry2 = tk.Entry(root)
entry2.pack(pady=10)

# ایجاد دکمه‌ها
btn_add = tk.Button(root, text="جمع", command=add)
btn_add.pack(pady=5)

btn_subtract = tk.Button(root, text="تفریق", command=subtract)
btn_subtract.pack(pady=5)

btn_multiply = tk.Button(root, text="ضرب", command=multiply)
btn_multiply.pack(pady=5)

btn_divide = tk.Button(root, text="تقسیم", command=divide)
btn_divide.pack(pady=5)

# برچسب برای نمایش نتیجه
label_result = tk.Label(root, text="نتیجه: ")
label_result.pack(pady=20)

# اجرای حلقه اصلی
root.mainloop()
Mma123 دانلود Python
import tkinter as tk
from tkinter import messagebox

def calculate(operation):
    try:
        num1 = float(entry1.get())
        num2 = float(entry2.get())
        
        if operation == 'add':
            result = num1 + num2
        elif operation == 'subtract':
            result = num1 - num2
        elif operation == 'multiply':
            result = num1 * num2
        elif operation == 'divide':
            if num2 == 0:
                raise ValueError("Division by zero is not allowed.")
            result = num1 / num2
        
        result_label.config(text=f"نتیجه: {result}")
    except ValueError as e:
        messagebox.showerror("خطا", str(e))

# ایجاد پنجره اصلی
root = tk.Tk()
root.title("محاسبات عددی")

# فیلدهای ورودی
entry1 = tk.Entry(root)
entry1.pack(pady=10)

entry2 = tk.Entry(root)
entry2.pack(pady=10)

# دکمه‌ها
button_add = tk.Button(root, text="جمع", command=lambda: calculate('add'))
button_add.pack(pady=5)

button_subtract = tk.Button(root, text="تفریق", command=lambda: calculate('subtract'))
button_subtract.pack(pady=5)

button_multiply = tk.Button(root, text="ضرب", command=lambda: calculate('multiply'))
button_multiply.pack(pady=5)

button_divide = tk.Button(root, text="تقسیم", command=lambda: calculate('divide'))
button_divide.pack(pady=5)

# برچسب برای نمایش نتیجه
result_label = tk.Label(root, text="نتیجه: ")
result_label.pack(pady=10)

# اجرای حلقه اصلی
root.mainloop()
کاربر 136 دانلود Python
<< صفحه قبل 1 صفحه بعد >>

ارسال جواب

/* کداتو توی این بخش بنویس
فرقی نمیکنه چه زبان برنامه نویسی باشه، همرو پشتیبانی میکنیم :)
البته قبلش این سه خط رو پاک کن */
                    
  • لطفا جواب های تکراری ارسال نکن
  • قبل از ارسال، جوابت رو داخل یک کد ادیتور مثل vscode بنویس و بعد اینجا Paste کن
  • جواب های ارسالی، پس از بررسی کوتاهی، ویرایش میشن و در سایت نمایش داده میشن
  • ارسال جواب حق مادی یا معنوی برای ارسال کننده ایجاد نمیکند و تمام حقوق برای سایت کدبزن محفوظ است

تمرینات مرتبط

تشخیص با استفاده از هوش مصنوعی
×
×
بستن