nasty1512200229
25.08.2021 13:02

решить в Excel
и лучший ответ тому кто решит первый


решить в Excel и лучший ответ тому кто решит первый

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
danik2012daniweufyv3
31.03.2021 06:05
Разветвляющимися называется такой алгоритм, в котором выбирается один из нескольких возможных вариантов вычислительного процесса. каждый подобный путь называет "ветвью алгоритма".

признаком разветвляющегося алгоритма является наличие операций проверки условия. различают два вида условий –  простые  и  составные.

простым условием (отношением)  называется выражение, составленное из двух арифметических выражений или двух текстовых величин (иначе их еще ), связанных одним из знаков:

< - меньше,

> - больше,

< = - меньше, или равно

> = - больше, или равно

< > - не равно

= - равно

например, простыми отношениями являются следующие:

x-y> 10; k< =sqr(c)+abs(a+b); 9< > 11; ‘мама’< > ‘папа’.

в примерах первые два отношения включают в себя переменные, поэтому о верности этих отношений можно судить только при подстановке некоторых значений:

если х=25, у=3, то отношение x-y> 10 будет  верным, т.к. 25-3> 10

если х=5, у=30, то отношение x-y> 10 будет неверным, т.к. 5-30< 10

проверьте верность второго отношения при подстановке следующих значений:

а) k=5, a=1, b=-3, c=-8

b) k=65, a=10, b=-3, c=2

0,0(0 оценок)
Ответ:
Юлькач
14.08.2020 11:19

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()

Объяснение:

1.Создаём окно 485 на 550. Размеры не важны, мне понравились такие. Так же указываем, что окно не будет изменяться.

class Main(Frame):

   def __init__(self, root):

       super(Main, self).__init__(root)

       self.build()

   def build(self):

       pass

 

   def logicalc(self, operation):

       pass

   def update():

      pass

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()

2.Делаем кнопочки

В методе build создаём такой список:

btns = [

           "C", "DEL", "*", "=",

           "1", "2", "3", "/",

           "4", "5", "6", "+",

           "7", "8", "9", "-",

           "+/-", "0", "%", "X^2"

       ]

Он отвечает за все кнопки, отображающиеся у нас в окне.

3.Мы создали список, теперь проходимся циклом и отображаем эти кнопки. Для этого в том же методе пишем следующее:

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

4.Замечательно, у нас есть кнопочки. Добавляем надпись с выводом результата. Я хочу что бы текст был слева, следовательно, атрибутов выравнивания текста писать не нужно.

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)

5.Пишем логику

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)

Так, как у нас нет ввода с клавиатуры, мы можем позволить себе сделать так, просто проверить на спец. кнопки (C, DEL, =) и в остальных случаях просто добавить это к формуле.

за внимание!)

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота