python - 检查网站地址是否有效的程序
问题描述
我正在编写一个程序来检查网站是否具有有效的扩展名。首先我做了这个
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
True
或False
布尔值呢?
推荐阅读
- c# - 对重复匹配使用单独的捕获组
- javascript - 为什么提交函数和ajax没有拾取模态中的html表单提交?
- java - 在 PHP 上运行 Java 的空数组
- android - 应用暂停时自动关闭 Flutter 模态底页
- vba - 循环计算和删除形状
- windows - 如何通过批处理计算一组文件夹中的所有子文件夹?(不是文件!)
- java - 不能在 Eclipse IDE for Enterprise Java and Web Developers 中运行非常简单的 Java 应用程序,但可以在 Eclipse IDE for Java Developers 中运行它
- snowflake-cloud-data-platform - 雪花处理问题
- flutter - 如何将颤动的应用栏徽标移动到左侧中心
- docker - 无法通过我的 docker 容器中的 /dev/video10 将 udp 视频流发送到暗网