Проверка вводимых значений от пользователя

Сделал графическую оболочку, запрашиваю напряжение (U) и длину (L). Если пользователь ничего не введет или введет не числа, то программа вылетает:

        def proga_engl1(self):
                self.ui.textBrowser.clear()

                try:
                        U = int(self.ui.U_line.text())
                        L = float(self.ui.L_line.text())
                except:
                        self.ui.LABEL_P.setText("Вы ввели не число")

                arr_engl1 = [9, 5, 43.7, 22.6, 47, 0.7, 0.3, 4.4]
                self.ui.LABEL_P.setText("Мощность лент в диапазоне \nот 10 до 100 Вт/м")

                arr_engl_list = []
                for i in range(len(arr_engl1)):
                        # Восемь параллель (запитка с двух сторон)
                        P = round(((U * U) / (arr_engl1[i] / 8) / L) / L, 2)
                        if (P > 10 and P < 100):
                                P1 = round(P * L / 1000, 2)
                                prn_name = ("ЭНГЛ-1-" + str(P1) + "/" + str(U) + "-" + str(L) + " | Мощность: " + str(
                                P) + " | Проволока: " + str(arr_engl1[i]) + " Ом/м" + " <--- На две стороны")
                                arr_engl_list.append(prn_name)
                         # Восемь последовательно
                        P = round(((U * U) / (arr_engl1[i] * 8) / L) / L, 2)
                        if (P > 10 and P < 100):
                                P1 = round(P * L / 1000, 2)
                                prn_name = ("ЭНГЛ-1-" + str(P1) + "/" + str(U) + "-" + str(L) + " | Мощность: " + str(
                                P) + " | Проволока: " + str(arr_engl1[i]) + " Ом/м")
                                arr_engl_list.append(prn_name)
                        # Два по четыре
                        P = round(((U * U) / (arr_engl1[i] / 2) / L) / L, 2)
                        if (P > 10 and P < 100):
                                P1 = round(P * L / 1000, 2)
                                prn_name = ("ЭНГЛ-1-" + str(P1) + "/" + str(U) + "-" + str(L) + " | Мощность: " + str(
                                P) + " | Проволока: " + str(arr_engl1[i]) + " Ом/м")
                                arr_engl_list.append(prn_name)
                        # Два по четыре
                        P = round(((U * U) / (arr_engl1[i] * 2) / L) / L, 2)
                        if (P > 10 and P < 100):
                                P1 = round(P * L / 1000, 2)
                                prn_name = ("ЭНГЛ-1-" + str(P1) + "/" + str(U) + "-" + str(L) + " | Мощность: " + str(
                                P) + " | Проволока: " + str(arr_engl1[i]) + " Ом/м")
                                arr_engl_list.append(prn_name)

                for i in range(len(arr_engl_list)):
                        self.ui.textBrowser.insertPlainText(arr_engl_list[i])
                        self.ui.textBrowser.insertPlainText("\n")

Подскажите, как проверить вводимые пользователям данные или как обойти ошибку? P.S. полная процедура


Ответы (1 шт):

Автор решения: Andrey

после

self.ui.LABEL_P.setText("Вы ввели не число")

нужно было поставить return

→ Ссылка