Python如何在3次尝试后结束无限循环

2024-09-28 21:26:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我有下面的循环,这是一个无限循环。只要请求代码不等于200,并且每次尝试发送电子邮件,它都会循环。在

我需要在3次尝试后结束循环,然后发送电子邮件一次并退出循环。在

有什么建议吗?在

while True:
    r = requests.get("http://www.website.com/test11")
    if r.status_code == 200:
        break
    else:
        sendemail(from_addr, to_addr_list, cc_addr_list,subject, message,login, password)

Tags: 代码comtruehttpgetif电子邮件www
2条回答

Python在循环上有一个稍微晦涩的else:子句,在这里很方便——当并且仅当循环以运行结束时运行(即,如果您点击一个break),它将被跳过。看起来像这样:

for _ in range(3):
    r = requests.get("http://www.website.com/test11")
    if r.status_code == 200:
        break

else:
    sendemail(from_addr, to_addr_list, cc_addr_list,subject, message,login, password)

如果您无论如何都想发送电子邮件,您可以使用:

count=0
while count < 3:
    r = requests.get("http://www.website.com/test11")
    if r.status_code == 200 
        break
    count+=1

sendemail(from_addr, to_addr_list, cc_addr_list,subject, message,login, password)

如果您只想在失败的情况下发送电子邮件,请使用:

^{pr2}$

相关问题 更多 >