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

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

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

تمرین آسان 2278 بازدید 12/ دانلود

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

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

11 جواب

مرتب سازی
این جواب فقط برای مشترکین ویژه قابل مشاهده است
این جواب فقط برای مشترکین ویژه قابل مشاهده است
این جواب فقط برای مشترکین ویژه قابل مشاهده است
let msg = 'error'
alert(msg) 
این جواب فقط برای مشترکین ویژه قابل مشاهده است
این جواب فقط برای مشترکین ویژه قابل مشاهده است

برای مشاهده این جواب باید اشتراک داشته باشی

دریافت اشتراک
این جواب فقط برای مشترکین ویژه قابل مشاهده است
این جواب فقط برای مشترکین ویژه قابل مشاهده است
این جواب فقط برای مشترکین ویژه قابل مشاهده است
let msg = 'error'
alert(msg) 
این جواب فقط برای مشترکین ویژه قابل مشاهده است
این جواب فقط برای مشترکین ویژه قابل مشاهده است

برای مشاهده این جواب باید اشتراک داشته باشی

دریافت اشتراک
این جواب فقط برای مشترکین ویژه قابل مشاهده است
این جواب فقط برای مشترکین ویژه قابل مشاهده است
این جواب فقط برای مشترکین ویژه قابل مشاهده است
let msg = 'error'
alert(msg) 
این جواب فقط برای مشترکین ویژه قابل مشاهده است
این جواب فقط برای مشترکین ویژه قابل مشاهده است

برای مشاهده این جواب باید اشتراک داشته باشی

دریافت اشتراک
import tkinter as tk
from tkinter import *

def click(item):
    result = entry1.get()+item+entry2.get()
    r = str(f"{eval(result):.1f}")
    result_lbl.config(text = f"{entry1.get()} {item} {entry2.get()} = {r}")

root = tk.Tk()
root.title("calculater")

title_label = Label(root,text = "ماشین حساب ساده",font=("arail",16))
title_label.grid(row=1,column=0,columnspan=2)

in_txt=StringVar()
entry_1 = Label(root,text="Enter number1")
entry_1.grid(row=2,column=0)

entry1 = Entry(root,width=25,justify="center",bd=5)
entry1.grid(row=3,column=0)

entry_2 = Label(root,text="Enter number2")
entry_2.grid(row=2,column=1)

entry2 = Entry(root,width=25,justify="center",bd=5)
entry2.grid(row=3,column=1)

but_plus = Button(root,text="+",command=lambda :click("+"),bd=5,bg="pink",font=14)
but_plus.grid(row=4,column=0)

but_mines = Button(root,text="-",command=lambda :click("-"),bd=5,bg="green",font=14)
but_mines.grid(row=4,column=1)

but_verb = Button(root,text="*",command=lambda :click("*"),bd=5,bg="purple",font=14)
but_verb.grid(row=5,column=0)

but_devision = Button(root,text="/",command=lambda :click("/"),bd=5,bg="blue",font=14)
but_devision.grid(row=5,column=1)

result_lbl = Label(root,text="result",font=("arail",14))
result_lbl.grid(row=6,column=0,columnspan=2)

root.mainloop()

from tkinter import *
root = Tk()
root.title("simple calculator")
e = Entry(root, width=50, borderwidth=10)
e.grid(row=0, column=0, columnspan=4)
f_number = None 
operator = None  

def add():
    global f_number  
    global operator  
    operator = '+'  
    f_number = int(e.get())  
    e.delete(0, END)  

def Division():
    global f_number
    global operator
    operator = '/'
    f_number = int(e.get())
    e.delete(0, END)

def minus():
    global f_number
    global operator
    operator = '-'
    f_number = int(e.get())
    e.delete(0, END)

def Multiplication():
    global f_number
    global operator
    operator = '*'
    f_number = int(e.get())
    e.delete(0, END)

def Remainder():
    global f_number
    global operator
    operator = '%'
    f_number = int(e.get())
    e.delete(0, END)

def power():
    global f_number
    global operator
    operator = '**'
    f_number = int(e.get())
    e.delete(0, END)

def button_click(num: int):
    c = e.get()
    e.delete(0, END)
    e.insert(0, str(c) + str(num)) 

def button_clear():
    e.delete(0, END)

def button_equal():
    second_number = e.get()  
    e.delete(0, END)  

    if operator == '+':  # conditions
        e.insert(0, f_number + int(second_number)) 
    elif operator == '-':
        e.insert(0, f_number - int(second_number))  
    elif operator == '*':
        e.insert(0, f_number * int(second_number))  
    elif operator == '**':
        e.insert(0, f_number ** int(second_number))  
    elif operator == '/':
        e.insert(0, f_number / int(second_number))  
    elif operator == '%':
        e.insert(0, f_number % int(second_number))  

button_1 = Button(root, text='1', padx=40, pady=20,
                  command=lambda: button_click(1))
button_2 = Button(root, text='2', padx=40, pady=20,
                  command=lambda: button_click(2))
button_3 = Button(root, text='3', padx=40, pady=20,
                  command=lambda: button_click(3))
button_4 = Button(root, text='4', padx=40, pady=20,
                  command=lambda: button_click(4))
button_5 = Button(root, text='5', padx=40, pady=20,
                  command=lambda: button_click(5))
button_6 = Button(root, text='6', padx=40, pady=20,
                  command=lambda: button_click(6))
button_7 = Button(root, text='7', padx=40, pady=20,
                  command=lambda: button_click(7))
button_8 = Button(root, text='8', padx=40, pady=20,
                  command=lambda: button_click(8))
button_9 = Button(root, text='9', padx=40, pady=20,
                  command=lambda: button_click(9))
button_0 = Button(root, text='0', padx=40, pady=20,
                  command=lambda: button_click(0))
button_clear1 = Button(root, text='clear', padx=30,
                       pady=20, command=button_clear)
button_equal1 = Button(root, text='=', padx=39,
                       pady=20, command=button_equal)
button_add1 = Button(root, text='+', padx=38,
                     pady=20, command=add)
button_Division = Button(root, text='/', padx=40,
                         pady=20, command=Division)
button_minus = Button(root, text='-', padx=39,
                      pady=20, command=minus)
button_Multiplication = Button(root, text='*',
                               padx=40, pady=20, command=Multiplication)
button_Remainder = Button(root, text='%', padx=38,
                          pady=20, command=Remainder)
button_power = Button(root, text='**', padx=38,
                      pady=20, command=power)

button_1.grid(row=3, column=0)
button_2.grid(row=3, column=1)
button_3.grid(row=3, column=2)
button_4.grid(row=2, column=0)
button_5.grid(row=2, column=1)
button_6.grid(row=2, column=2)
button_7.grid(row=1, column=0)
button_8.grid(row=1, column=1)
button_9.grid(row=1, column=2)
button_0.grid(row=4, column=0)
button_clear1.grid(row=4, column=1)
button_equal1.grid(row=4, column=2)
button_add1.grid(row=5, column=0)
button_Division.grid(row=5, column=1)
button_Multiplication.grid(row=5, column=2)
button_minus.grid(row=6, column=0)
button_Remainder.grid(row=6, column=1)
button_power.grid(row=6, column=2)
root.mainloop()

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':
            result = num1 / num2
        label_result.config(text=f'Result: {result}')
    except ValueError:
        messagebox.showerror("Input Error", "Please enter valid numbers.")

app = tk.Tk()
app.title("Calculator")

entry1 = tk.Entry(app)
entry1.pack()
entry2 = tk.Entry(app)
entry2.pack()

button_add = tk.Button(app, text="Add", command=lambda: calculate('add'))
button_add.pack()
button_subtract = tk.Button(app, text="Subtract", command=lambda: calculate('subtract'))
button_subtract.pack()
button_multiply = tk.Button(app, text="Multiply", command=lambda: calculate('multiply'))
button_multiply.pack()
button_divide = tk.Button(app, text="Divide", command=lambda: calculate('divide'))
button_divide.pack()

label_result = tk.Label(app, text="Result: ")
label_result.pack()

app.mainloop()
import tkinter as tk
def sum():
    try:
        input1 =int(entry1.get())
    except:
        input1=0
    try:
        input2 =int(entry2.get())
    except:
        input2=0
    label.config(text=f"sum: {input1+input2}")

def minus():
    try:
        input1 =int(entry1.get())
    except:
        input1=0
    try:
        input2 =int(entry2.get())
    except:
        input2=0
    label.config(text=f"minus: {input1-input2}")

def divide():
    try:
        input1 =int(entry1.get())
    except:
        input1=0
    try:
        input2 =int(entry2.get())
    except:
        input2=0
    if input2==0:
        label.config(text=f"divide: not divide to zero")
    else:
        label.config(text=f"divide: {input1/input2}")

def multiple():
    try:
        input1 =int(entry1.get())
    except:
        input1=0
    try:
        input2 =int(entry2.get())
    except:
        input2=0
    label.config(text=f"multiple: {input1*input2}")

def main():
    global entry1, entry2, label
    root = tk.Tk()
    root.geometry("400x400")
    root.title("Simple Calculator")

    tk.Label(root, text="Num 1:").pack()
    entry1 = tk.Entry(root, width=5)
    entry1.pack(pady=5)

    tk.Label(root, text="Num 2:").pack()
    entry2 = tk.Entry(root, width=5)
    entry2.pack(pady=5)

    btn_sum = tk.Button(root, text=" + ", command=sum)
    btn_sum.pack(pady=10)
    btn_minus = tk.Button(root, text=" - ", command=minus)
    btn_minus.pack(pady=10)
    btn_divide = tk.Button(root, text=" / ", command=divide)
    btn_divide.pack(pady=10)
    btn_multiple = tk.Button(root, text=" * ", command=multiple)
    btn_multiple.pack(pady=10) 
    label = tk.Label(root, text="")
    label.pack(pady=10)

    root.mainloop()

if __name__ == "__main__":
    main()
from customtkinter import *
win=CTk()
win.geometry('200x180')
win.config(background="black")
win.title('calculator')

def plus():
    input_1=float(en_1.get())
    input_2=float(en_2.get())
    result=input_1+input_2
    show_result(result)

def minus():
    input_1=float(en_1.get())
    input_2=float(en_2.get())
    result=input_1-input_2
    show_result(result)

def times():
    input_1=float(en_1.get())
    input_2=float(en_2.get())
    result=input_1*input_2
    show_result(result)

def division():
    input_1=float(en_1.get())
    input_2=float(en_2.get())
    result=input_1/input_2
    show_result(result)

def show_result(value):
    result_label.configure(text=f"result: {value}")

result_label=CTkLabel(master=win,
                      text="result: ",
                      fg_color="white",
                      bg_color='black',
                      corner_radius=30,
                      text_color='black',
                      height=20,
                      width=30)
result_label.place(x=100, y=180, anchor="s")

en_1=CTkEntry(master=win,
            text_color="black",
            bg_color='black',
            fg_color='white',
            height=20,
            width=200,
            corner_radius=30)
en_1.place(x=0, y=4, anchor='nw')

en_2=CTkEntry(master=win,
            text_color="black",
            bg_color='black',
            fg_color='white',
            height=20,
            width=200,
            corner_radius=30)
en_2.place(x=0, y=25, anchor='nw')

btn_1=CTkButton(master=win,
                fg_color="gray",
                bg_color='black',
                corner_radius=30,
                text="+",
                text_color="orange",
                height=20,
                width=30,
                command=plus)
btn_1.place(x=100, y=65, anchor='n')

btn_3=CTkButton(master=win,
                fg_color="gray",
                bg_color='black',
                corner_radius=30,
                text="-",
                text_color="orange",
                height=20,
                width=30,
                command=minus)
btn_3.place(x=100, y=107, anchor='n')

btn_4=CTkButton(master=win,
                fg_color="gray",
                bg_color='black',
                corner_radius=30,
                text="x",
                text_color="orange",
                height=20,
                width=30,
                command=times)
btn_4.place(x=84, y=86, anchor='ne')

btn_5=CTkButton(master=win,
                fg_color="gray",
                bg_color='black',
                corner_radius=30,
                text="÷",
                text_color="orange",
                height=20,
                width=30,
                command=division)
btn_5.place(x=115, y=86, anchor='nw')

win.mainloop()

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()
<< صفحه قبل 1 2 صفحه بعد >>

ارسال جواب

  • قبل از ارسال جواب ویدیو زیر رو ببین تا کار کردن با markdown رو یاد بگیری
  • لطفا جواب های تکراری ارسال نکن
  • در متن جواب اطلاعات شخصی شامل ایمیل و شماره موبایل و آی دی و... ننویس
  • سعی کن داخل کدت از کلمات فارسی یا فینگلیش (فارسی با حروف انگلیسی) استفاده نکنی و کدت تماما انگلیسی باشه
  • لطفا داخل جواب از ایموجی یا کاراکترهای خاص استفاده نکن
  • ارسال جواب حق مادی یا معنوی برای ارسال کننده ایجاد نمیکند و تمام حقوق برای سایت کدبزن محفوظ است

راهنمای ارسال جواب 👇

×
بستن