запускается с функцией - неверные аргументы - не выкидывает ошибку - PullRequest
0 голосов
/ 06 марта 2019

Может кто-нибудь сказать мне, почему это не выдает ошибку?Он печатает True, когда пользователь вводит http: //, и false, когда он вводит https: //.Я не могу понять, почему это сработает вообще.

URL = input("Enter an URL address: ")
URL.startswith("http://" or "https://")

1 Ответ

4 голосов
/ 06 марта 2019

"http://" or "https://" - это логическое выражение, которое оценивается как "http://", потому что это то, что является оператором or (поскольку "http://" является первым значением True-ish, встречающимся в операторе or), вам необходимо сделайте это вместо:

URL.startswith("http://") or URL.startswith("https://")

Кроме того, как предложил @ShadowRanger, вы могли бы сделать это короче и быстрее, передав набор принятых начальных строк в метод startswith, затем он вернет True, если какая-либо из строк в кортеже соответствует начало строки:

URL.startswith(("http://", "https://"))
...