@samperirrrrr

Что не так, почему else игнорирует?

Привет. У меня такая проблема, мой код игнорирует else.
Тоесть смотрите!
я пишу боту -
602ea6b995e44332914112.png
Все работает, да потому-что такой сервер существует
А если я пишу так:
602ea6ec14c33004918156.png
То бот игнорирует, так не должно! быть он должен написать "⚠⚠Сервер либо ОФФЛАЙН, Либо такого сервера НЕ СУЩЕСТВУЕТ⚠⚠"
ЧТО НЕ ТАК, НЕ ПОНИМАЮ??? Код ниже
if args[0] == "/server":
					
					if len(args) < 2:
						
						send_msg (id, 'Введите IP-Адресс сервера.')
						
					else:
						
						ip = args[1]
						go = requests.get(f"https://api.mcsrvstat.us/2/{ip}")
						print(go)
						jso = go.json()
						print(jso)
						if jso.get('online') == 'True' or 'true':
							ip = jso['ip']
							pl = jso['players']['max']
							onl = jso['players']['online']
							jsos = jso['protocol']
							v = jso['version']
							send_msg(id,'Поиск информации... ')
							time.sleep(3)
							
							send_msg(id,f'IP-Адресс:{ip} \n \n ‍Игроков:{pl} \n ‍Онлайн игроков:{onl} \n \n ⚡Протокол:{jsos} \n ♨Версия:{v}')
						else:
							
							send_msg(id,'⚠⚠Сервер либо ОФФЛАЙН, Либо такого сервера НЕ СУЩЕСТВУЕТ⚠⚠')
  • Вопрос задан
  • 124 просмотра
Пригласить эксперта
Ответы на вопрос 1
phaggi
@phaggi Куратор тега Python
лужу, паяю, ЭВМы починяю
Элементарно, Ватсон!
Ваш код эквивалентен следующему:
if (jso.get('online') == 'True') or 'true':
    print('Это всегда выполняется')
else:
    print('Это никогда не выполняется')

Потому, что 'true' это не пустая строка и она ВСЕГДА истинна.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы