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

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

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

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

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

👨‍💻 4 ساعت قبل کاربر ناشناس این تمرین رو مشاهده کرد
👨‍💻 15 ساعت قبل Mohammad1383 این تمرین رو مشاهده کرد

3 جواب

import tk
import customtk as ck
window = tk.Tk()
strvar = tk.StringVar()
def set_num(number):
    strvar.set(strvar.get()+number)
def clear_num():
    strvar.set("")
def calnumber():
    javab = str(eval(strvar.get()))
    strvar.set(javab)
def menu():
    window = tk.Tk()
    tk.Label(window, text="ساخته شده توسط آقا رضا", fg="black").place(x=50, y=100, width=150, height=31)
    hj = 2
    def clooose():
        while hj == 2:
            break
    window.title("about us")
    tk.Button(window, text="باشه", fg="black", command=clooose).place(x=90, y=130)
    window.minsize(260, 260)
    window.maxsize(260, 260)
    window.mainloop()
tk.Canvas(window, bg="white").place(x=0, y=0, height=800, width=600)
tk.Canvas(window,border=0, background="#272121").place(x=0, y=0, width=500, height=600)
tk.Button(window, text="0", border=0, foreground="white", background="#443737", command=lambda:set_num("0")).place(x=4, y=297, height=50, width=136)
tk.Button(window, text=".", border=0, foreground="white",background="#443737", command=lambda:set_num(".")).place(x=142, y=297, height=50, width=67)
tk.Button(window, text="1", border=0, foreground="white", bg="#443737", command=lambda:set_num("1")).place(x=4, y=244, height=50, width=67)
tk.Button(window, text="2", border=0, foreground="white", bg="#443737", command=lambda:set_num("2")).place(x=73, y=244, height=50, width=67)
tk.Button(window, text="3", border=0, foreground="white", bg="#443737", command=lambda:set_num("3")).place(x=142, y=244, height=50, width=67)
tk.Button(window, text="4", border=0, foreground="white", bg="#443737", command=lambda:set_num("4")).place(x=4, y=191, height=50, width=67)
tk.Button(window, text="5", border=0, foreground="white", bg="#443737", command=lambda:set_num("5")).place(x=73, y=191, height=50, width=67)
tk.Button(window, text="6", border=0, foreground="white", bg="#443737", command=lambda:set_num("6")).place(x=142, y=191, height=50, width=67)
tk.Button(window, text="7", border=0, foreground="white", bg="#443737", command=lambda:set_num("7")).place(x=4, y=139, height=50, width=67)
tk.Button(window, text="8", border=0, foreground="white", bg="#443737", command=lambda:set_num("8")).place(x=73, y=139, height=50, width=67)
tk.Button(window, text="9", border=0, foreground="white", bg="#443737", command=lambda:set_num("9")).place(x=142, y=139, height=50, width=67)
tk.Button(window, text="=", border=0,command=calnumber, font=("arial", (20)), foreground="black", bg="#E3651D").place(x=211, y=297, height=50, width=62)
tk.Button(window, text="+", border=0, font=("arial", (20)), foreground="green", bg="#233737", command=lambda:set_num("+")).place(x=211, y=244, height=50, width=62)
tk.Button(window, text="-", border=0, font=("arial", (20)), foreground="red", bg="#233737", command=lambda:set_num("-")).place(x=211, y=191, height=50, width=62)
tk.Button(window, text="×", border=0, font=("arial", (20)), foreground="yellow", bg="#233737", command=lambda:set_num("*")).place(x=211, y=139, height=50, width=62)
tk.Entry(window, border=0,textvariable=strvar, bg="#272121", fg="white", font=("tahoma", (30)) ).place(x=15, y=50, width=240, height=50)
threeline = tk.PhotoImage(file="3line.png")
tk.Button(window, image=threeline,command=menu, border=0, bg="#272121").place(x=5, y=5, width=40, height=40)
tk.Button(window, text="c", fg="white", border=0, bg="#272121", command=clear_num).place(x=5, y=98, width=40, height=40)
tavan = tk.PhotoImage(file="X-TN2.PNG")
tk.Button(window, image=tavan, border=0, bg="#272121",fg="white", command=lambda: set_num("**2")).place(x=130, y=98, width=40, height=40)
darsad = tk.PhotoImage("Darsad.png")
tk.Button(window, text="%", border=0, bg="#272121",fg="white", command=lambda: set_num("/100")).place(x=90, y=98, width=40, height=40)
tk.Button(window, text="÷", border=0, bg="#272121",fg="white", command=lambda:set_num("/")).place(x=50, y=98, width=40, height=40)
tk.Label(window, text="calculator",bg="#272121", fg="white", font=("tahoma", (15))).place(x=160, y=10)
window.title("calculator")
window.minsize(270,350)
window.maxsize(270,350)
window.mainloop()
Reeeezaprogram دانلود Python
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 کن
  • جواب های ارسالی، پس از بررسی کوتاهی، ویرایش میشن و در سایت نمایش داده میشن
  • ارسال جواب حق مادی یا معنوی برای ارسال کننده ایجاد نمیکند و تمام حقوق برای سایت کدبزن محفوظ است

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

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