Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.02.2022, 18:12   #1
bivlinux
Новичок
Джуниор
 
Регистрация: 27.02.2022
Сообщений: 2
По умолчанию Задача 1. «Калькулятор»

Задание: Написать приложение с графическим интерфейсом «Калькулятор». Оно должно
содержать: индикатор вывода результата, четыре кнопки с основными операциями [+], [-],[*], [/] и кнопки [=], [С], [1/x], [x2].
Изображения
Тип файла: png 1234.png (96.1 Кб, 0 просмотров)
bivlinux вне форума Ответить с цитированием
Старый 27.02.2022, 18:13   #2
bivlinux
Новичок
Джуниор
 
Регистрация: 27.02.2022
Сообщений: 2
По умолчанию

Задача 2*. «Калькулятор+»
Задание: Добавить в приложение «Калькулятор» дополнительные кнопки:
[√] (код=8730), [±] (код=177), [←] (код=8592), [÷] (код=247).
Примечание. В качестве образа можно использовать вид калькулятора Windows.
bivlinux вне форума Ответить с цитированием
Старый 06.03.2022, 19:44   #3
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,039
По умолчанию

Код:
from tkinter import *


class Main(Frame):
    def __init__(self, root):
        super(Main, self).__init__(root)
        self.build()

    def build(self):
        self.formula = '0'
        self.lbl = Label(text=self.formula, font=('Times New Roman', 21, 'bold'), bg='#000', foreground='#FFF')
        self.lbl.place(x=11, y=50)

        btns = [
            'C', 'DEL', '*', '=',
            '1', '2', '3', '/',
            '4', '5', '6', '+',
            '7', '8', '9', '-',
            '(', '0', ')', 'X^2'
        ]

        x = 10
        y = 140
        for bt in btns:
            com = lambda x=bt: self.logicalc(x)
            Button(text=bt, bg='#FFF',
                   font=('Times New Roman', 15),
                   command=com).place(x=x, y=y,
                                      width=115,
                                      height=79)
            x += 117
            if x > 400:
                x = 10
                y += 81

    def logicalc(self, operation):
        if operation == 'C':
            self.formula = ''
        elif operation == 'DEL':
            self.formula = self.formula[0:-1]
        elif operation == 'X^2':
            self.formula = str((eval(self.formula)) ** 2)
        elif operation == '=':
            self.formula = str(eval(self.formula))
        else:
            if self.formula == '0':
                self.formula = ''
            self.formula += operation
        self.update()

    def update(self):
        if self.formula == '':
            self.formula = '0'
        self.lbl.configure(text=self.formula)


if __name__ == '__main__':
    root = Tk()
    root['bg'] = '#000'
    root.geometry('485x550+200+200')
    root.title('Калькулятор')
    root.resizable(False, False)
    app = Main(root)
    app.pack()
    root.mainloop()
Ципихович Эндрю вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Калькулятор Windows не правильно считае, а может калькулятор гугл не правильно считает? xexxex Windows 8 05.09.2019 13:26
Калькулятор Yurik_odex Помощь студентам 7 20.03.2012 10:54
калькулятор на с++ -=Andriushka=- Помощь студентам 3 04.03.2011 21:21
Калькулятор на С++ BlodyAngel Помощь студентам 0 08.06.2010 01:16
Вопрос по строкам / задача "матричный калькулятор" alexobenikov Общие вопросы C/C++ 7 19.11.2009 23:30