gpt4 book ai didi

python - 检查列表以查看参数中是否存在字符串,并在循环中返回值

转载 作者:太空宇宙 更新时间:2023-11-03 21:37:05 25 4
gpt4 key购买 nike

编辑:如果有人能解释为什么这不起作用,我会更加感激。我不需要任何人为我做这件事,因为我可以走很长的路。我只是想了解为什么这不起作用。谢谢!

编辑 #2:我知道 https:google.com 不是网址,但这只是为了测试代码。

我正在测试不同的方法来检查 url 参数的前 11 个字符内是否包含字符串“http”、“www”或“https”。我把索引弄乱了吗?或者我不明白“在”和“不在”是如何工作的?

def check_url(url):
first = ['www', 'http', 'https']
for x in first:
if x not in url[0:11]:
return '[-] url fails'
else:
...other stuff I need to check if it passes

hi = check_url('https:google.com')
print(hi)

输出显示网址失败。

我尝试过使用“in”而不是“not in”(当然还重新排列措辞以满足要求),但这也不起作用。

我知道我可以执行多个 if 语句来单独检查每个字符串,但这是很多代码,当然我想让它尽可能整洁和可读。

最佳答案

您的函数在处理返回后立即中断。因此 for 循环不再迭代。将 return 语句移至函数的末尾。例如:

def check_url(url):
first = ['www', 'http', 'https']
for x in first:
if url.startswith(x):
# ...other stuff I need to check if it passes
# if successful:
# return 'url passes'
return '[-] url fails'

hi = check_url('https:google.com')

关于python - 检查列表以查看参数中是否存在字符串,并在循环中返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53182644/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com