Не работает else в if

В этом коде

def follow(thefile):
    thefile.seek(0, 2)
    while True:
        line = thefile.readline()
        if not line:
            time.sleep(0.1)
            continue
        yield line

if __name__ == "__main__":
    logfile = open(os.getenv("APPDATA") + "/.minecraft/logs/latest.log", "r")
    loglines = follow(logfile)
    for line in loglines:
        if "§r§6Type §r/tpy §r§7" in line:
            logline = line[line.find('[CHAT] ')+35:]
            notfullnick = logline.split('§')[5]

            nickname = notfullnick.split('7')[1]

            if nickname == "Serverexe" or "Korffi_":
                pag.hotkey('alt', 'tab')
                pag.press('/')
                pag.typewrite(f'tpy {nickname}')
                pag.press('enter')

                print(f"Игроку {nickname} разрешён доступ!")
            else:
                pag.hotkey('alt', 'tab')
                pag.press('/')
                pag.typewrite(f'tpn {nickname}')
                pag.press('enter')

                print(f"Игроку {nickname} НЕТ разрешён доступ!")

                pag.press('/')
                pag.typewrite(f'w {nickname} you are not allowed to access the request!')
                pag.press('enter')

не работает

else:
  pag.hotkey('alt', 'tab')
  pag.press('/')
  pag.typewrite(f'tpn {nickname}')
  pag.press('enter')

  print(f"Игроку {nickname} НЕТ разрешён доступ!")

  pag.press('/')
  pag.typewrite(f'w {nickname} you are not allowed to access the request!')
  pag.press('enter')

поясняю, идет проверка на nuickname, если никнейм "Serverexe" или "Korffi_" то выполняется

pag.hotkey('alt', 'tab')
pag.press('/')
pag.typewrite(f'tpy {nickname}')
pag.press('enter')
print(f"Игроку {nickname} разрешён доступ!")

а если из обоих ников не один ник не схож, то выполняется

pag.hotkey('alt', 'tab')
pag.press('/')
pag.typewrite(f'tpn {nickname}')
pag.press('enter')
print(f"Игроку {nickname} НЕТ разрешён доступ!")
pag.press('/')
pag.typewrite(f'w {nickname} you are not allowed to access the request!')
pag.press('enter')

но это не выполняется, else не работает, пробовал elseif nickname != "Serverexe" or "Korffi_" всё равно не работает


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

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

Вобще-то, сильно предполагаю, что это не else не работает, а это вы не понимаете, как с ним работать. А вину сваливаете на бедный оператор. И что на самом деле, ваше условие должно выглядеть вот так:

if nickname == "Serverexe" or nickname =="Korffi_":
→ Ссылка