Aprender imediatamente: https://edu.csdn.net/course/play/24458/296448?utm_source=blogtoedu
Timer: threading.Timer
1. Conceito: Temporizador é conseguir muito tempo para executar o que
2. A função de correlação
1) temporizador (auto, intervalo, função, args = ())
intervalo: cronometrado
função: um evento a ser executado, ele é geralmente um nome de função, sem parênteses
args: um
2) t = Timer (...)
É realmente um fio, use:
t.start () para iniciar,
t.cancel () Fim
3) aleatório
random.randint (0,9): a geração de um número aleatório arbitrária de 0 a 9 (correspondente a 65-90 do código é o caso de cartas ascill)
random.choice ([s1, s2, ....]): opcionalmente a partir de uma lista
Código 3.
'''
这里利用一个生成验证码的例子来说明定时器的功能与使用
'''
#导入模块
from threading import Timer
import random
import time
#创建生成验证码的类
class code():
#一般验证码是由数字和字母组成,共4位
#创建生成验证码的函数
def make_code(self,n=4):
#n是验证码的位数
res=''
for i in range(n):
#生成字符串型的整数,字符串才能拼接,randint()生成一定范围内的任意整数
s1 = str(random.randint(0,9))
#生成字母,大小写字母的asill码位于65-90之间
s2 = chr(random.randint(65,90))
#在s1\s2中任选组成四位验证码,random.chioce()
res+=random.choice([s1,s2]).strip()#strip()将空格去掉
return res
#创建定时更新验证码的函数
def updata_code(self,interval=10):
#获取随机生成的验证码
self.new_code = self.make_code()#将验证码返回到类作为类中的全局变量,实现验证码的变动
print(self.new_code)
self.t = Timer(interval,self.updata_code)#将t设置为类中的全局变量
self.t.start()
#创建输入验证码的函数
def input_code(self):
while True:
self.updata_code()
res = input('请输入正确的验证码>>>:')
if res.upper() == self.new_code:
print('验证码正确')
self.t.cancel()#停止定时器
break
else:
print("验证码不正确,10s后重新输入")
if __name__ == '__main__':
obj = code()
obj.input_code()