检查网站地址是否有效的程序

Program to check a web site address is valid or not

我正在编写一个程序来检查网站是否具有有效扩展名。 首先我做了这个

website_address = 'facebook.com'
website_address.endswith('.com')

它工作正常。 但是我只能检查一个扩展名,所以我想写一个函数来检查扩展名列表。

def check_if_website_address_is_valid_by_extension(website_address):
    valid_extensions = ['.com', '.info', '.edu', '.org', '.biz', '.net']
    if website_address.endswith(valid_extensions):
        return 'check_if_website_address_is_valid_by_extension function returns True'
    else:
        return 'check_if_website_address_is_valid_by_extension functions returns False'

但是当我调用这个函数时check_if_website_address_is_valid_by_extension(website_address)我得到了错误

if website_address.endswith(valid_extensions):
TypeError: endswith first arg must be str or a tuple of str, not list

程序我写对了,写错了不知道。 请帮忙!

到目前为止,你做得很好。这里唯一的问题是 str.endswith 函数接受一个字符串或一个字符串元组。只需将您的有效扩展列表更改为元组,它应该可以正常工作。

valid_extensions = ('.com', '.info', '.edu', '.org', '.biz', '.net')

样本输出

>>> check_if_website_address_is_valid_by_extension('facebook.com')
 'check_if_website_address_is_valid_by_extension function returns True'

>>> check_if_website_address_is_valid_by_extension('google.net')
 'check_if_website_address_is_valid_by_extension function returns True'

>>> check_if_website_address_is_valid_by_extension('Hello')
 'check_if_website_address_is_valid_by_extension functions returns False'

虽然有一个建议,而不是返回这么长的字符串,你为什么不直接 return TrueFalse 布尔值?