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

Python如何在3次尝试后结束无限循环,python,python-2.7,Python,Python 2.7,我有下面的循环,它是一个无限循环。只要请求代码不相等=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,

我有下面的循环,它是一个无限循环。只要请求代码不相等=
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)

如果您想发送电子邮件,无论发生什么情况,您都可以使用:

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)
count=0
success = False
while count < 3:
    r = requests.get("http://www.website.com/test11")
    if r.status_code == 200 
        success = True
        break
    count+=1

if(not success)
    sendemail(from_addr, to_addr_list, cc_addr_list,subject, message,login, password)
count=0
当计数小于3时:
r=请求。获取(“http://www.website.com/test11")
如果r.status_code==200
打破
计数+=1
发送电子邮件(发件人、收件人列表、抄送地址列表、主题、消息、登录名、密码)
如果您只想在失败的情况下发送电子邮件,请使用以下选项:

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)
count=0
success = False
while count < 3:
    r = requests.get("http://www.website.com/test11")
    if r.status_code == 200 
        success = True
        break
    count+=1

if(not success)
    sendemail(from_addr, to_addr_list, cc_addr_list,subject, message,login, password)
count=0
成功=错误
当计数小于3时:
r=请求。获取(“http://www.website.com/test11")
如果r.status_code==200
成功=正确
打破
计数+=1
如果(不成功)
发送电子邮件(发件人、收件人列表、抄送地址列表、主题、消息、登录名、密码)

Python在循环上有一个稍微晦涩的
else:
子句,这在这里很方便-当且仅当循环以运行到完成结束结束时才运行(即,如果您点击了
中断
),它将被跳过)。看起来是这样的:

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)

我们可以在每个请求之间添加睡眠计时器吗?