有人可以告诉我为什么这不会引发错误吗?当用户输入http://时,它将输出True;而当用户输入https://时,则输出false。我不明白为什么它会起作用。
URL = input("Enter an URL address: ")
URL.startswith("http://" or "https://")
答案 0 :(得分:4)
"http://" or "https://"
是一个布尔表达式,其结果为"http://"
,因为这是or
语句的原因(因为"http://"
是{中遇到的第一个True-ish值{1}}语句),您需要执行以下操作:
or
另外,如@ShadowRanger所建议的,您可以通过将接受的起始字符串的元组传递给URL.startswith("http://") or URL.startswith("https://")
方法来使此过程变得更快,更短,如果其中的任何字符串都将返回startswith
元组与字符串的开头匹配:
True