Python

Задание по программированию помогите срочно!!!

Реализовать графическую программу - калькулятор. Реализовать возможность базовых операций (сложение, умножение, деление, вычитание, возведение в степень, нахождение остатка). (С использованием PyOt5) (убедитесь что ваш код правильный)
Ravi Ravi
Ravi Ravi
48
 import sys 
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QLineEdit, QLabel
from PyQt5 import QtWidgets

class Calculator(QWidget):

def __init__(self):
super().__init__()

self.initUI()

def initUI(self):

self.input1 = QLineEdit(self)
self.input1.move(10, 10)
self.input1.resize(200, 25)

self.input2 = QLineEdit(self)
self.input2.move(10, 40)
self.input2.resize(200, 25)

self.plus = QPushButton('+', self)
self.plus.move(10, 80)
self.plus.resize(40, 25)
self.plus.clicked.connect(self.summation)

self.minus = QPushButton('-', self)
self.minus.move(60, 80)
self.minus.resize(40, 25)
self.minus.clicked.connect(self.subtraction)

self.multiply = QPushButton('*', self)
self.multiply.move(110, 80)
self.multiply.resize(40, 25)
self.multiply.clicked.connect(self.multiplication)

self.divide = QPushButton('/', self)
self.divide.move(160, 80)
self.divide.resize(40, 25)
self.divide.clicked.connect(self.division)

self.power = QPushButton('^', self)
self.power.move(10, 120)
self.power.resize(40, 25)
self.power.clicked.connect(self.exponentiation)

self.remainder = QPushButton('%', self)
self.remainder.move(60, 120)
self.remainder.resize(40, 25)
self.remainder.clicked.connect(self.modulus)

self.result_label = QLabel(self)
self.result_label.move(10, 160)
self.result_label.resize(200, 25)

self.setGeometry(300, 300, 220, 200)
self.setWindowTitle('Калькулятор')
self.show()

def summation(self):
try:
result = float(self.input1.text()) + float(self.input2.text())
self.result_label.setText(str(result))
except ValueError:
self.result_label.setText("Некорректный ввод")

def subtraction(self):
try:
result = float(self.input1.text()) - float(self.input2.text())
self.result_label.setText(str(result))
except ValueError:
self.result_label.setText("Некорректный ввод")

def multiplication(self):
try:
result = float(self.input1.text()) * float(self.input2.text())
self.result_label.setText(str(result))
except ValueError:
self.result_label.setText("Некорректный ввод")

def division(self):
try:
result = float(self.input1.text()) / float(self.input2.text())
self.result_label.setText(str(result))
except ValueError:
self.result_label.setText("Некорректный ввод")
except ZeroDivisionError:
self.result_label.setText("Деление на 0")

def exponentiation(self):
try:
result = float(self.input1.text()) ** float(self.input2.text())
self.result_label.setText(str(result))
except ValueError:
self.result_label.setText("Некорректный ввод")

def modulus(self):
try:
result = float(self.input1.text()) % float(self.input2.text())
self.result_label.setText(str(result))
except ValueError:
self.result_label.setText("Некорректный формат чисел")
def power(self):
try:
result = float(self.input1.text()) ** float(self.input2.text())
self.result_label.setText(str(result))
except ValueError:
self.result_label.setText("Некорректный формат чисел")

app = QtWidgets.QApplication(sys.argv)
window = Calculator()
window.show()
sys.exit(app.exec_())
Владислав Медведев
Владислав Медведев
4 629
Лучший ответ