【问题标题】:Program to check a web site address is valid or not检查网站地址是否有效的程序
【发布时间】:2021-07-30 12:54:22
【问题描述】:

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

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

我写的程序是对的,但我不知道错误。 请帮忙!

【问题讨论】:

    标签: python string webaddress


    【解决方案1】:

    到目前为止,你做得很好。这里唯一的问题是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 布尔值?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-17
      • 1970-01-01
      • 2018-10-09
      • 2014-04-03
      • 1970-01-01
      • 1970-01-01
      • 2012-09-05
      相关资源
      最近更新 更多