import tkinter as tk
class Programm(tk.Tk):
def __init__(self):
super().__init__()
self.title("Сумма квадратов")
self.label1=tk.Label(self,text="Введите кол-во дней:").grid(row=0,column=0)
self.input=tk.Entry(self)
self.input.grid(row=0,column=1)
self.button= tk.Button(self, text="Посчитать", command=self.clicked,width=40).grid(row=1,columnspan=2)
self.label2=tk.Label(self, text="")
self.label2.grid(row=2,columnspan=2)
def clicked(self):
if self.input.get()=="20":
txt="22000"
elif int(self.input.get())<10:
txt=str(20000*0.4)
else: txt="20000"
self.label2["text"]=txt
if __name__ == "__main__":
app=Programm()
app.mainloop()
A and B = 01010010 = 82
Объяснение:
Для начала представим в виде битовой строки
А OR B = 87 = 01010111
А XOR B = 5 = 00000101
XOR дает логическую единицу если исходные данные различаются и ноль, если одинаковые. Значит у A и B только нулевой и второй (если считать справа) биты разные. То есть
A = 1x1
B = 0x0
В данном случае без разницы у кого будет 1, а у кого ноль, потому как нам нужно будет узнать их логическое И, которое от перестановки не меняется.
Далее опираемся на логические единицы в побитовом ИЛИ, то есть биты, которые стали логической единицей будут ей же в исходных A и B, нули соответственно тоже. Итого получаем.
A = 01010111
B = 01010010
Теперь побитово считаем И
A and B = 01010010 = 82