Несколько if/else в одной функции

Есть код, который нужно проверять на наличие того или иного текста.

    def configtest(self):
        if "http://" in self.setgui.url_conf.text():
            pass
        else:
            self.gui.consolelog.appendPlainText("URL must have - http://")
        if self.setgui.url_conf.text == "":
            self.gui.consolelog.appendPlainText("The string - Name, cannot be empty!")
        else:
            pass
        if self.setgui.process_count.text == "":
            self.gui.consolelog.appendPlainText("Count of processes can't be 0.")
        else:
            self.configmain()

Нужно если верно, переходить к след. проверке. Возможно ли такое, а если да, то как провернуть?


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

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

Возможно не то что вам нужно но все же есть рекомендации по коду В первой проверке можно сократить код до 2 строчек использую not

if "http://" not in self.setgui.url_conf.text():
    self.gui.consolelog.appendPlainText("URL must have - http://")

Далее вторая проверка сокращаеться

if self.setgui.url_conf.text == "":
    self.gui.consolelog.appendPlainText("The string - Name, cannot be empty!")

И в итоге выходит если использовать вложенный if то возможно вариант решения -

def configtest(self):
    if "http://" in self.setgui.url_conf.text():
        if self.setgui.url_conf.text != "":
            if self.setgui.process_count.text != "":
                self.configmain()
            else:
                self.gui.consolelog.appendPlainText("Count of processes can't be 0.")
        else:
            self.gui.consolelog.appendPlainText("The string - Name, cannot be empty!")
    else:
        self.gui.consolelog.appendPlainText("URL must have - http://")
            
→ Ссылка