风-fmgao

导航

验证码-定时器版

#!/usr/bin/python3
# -*- coding: utf-8 -*-
# @Time    : 2018/6/19 8:50
# @File    : 定时器.py

# 简单定时器
# from threading import Timer
#
# def task(name):
#     print('hello %s ' % name)
#
#
# t = Timer(5, task, args=('egon', ))
# t.start()

# 验证码
# import random
# def make_code(n=4):
#     res = ''
#     for i in range(n):
#         s1 = str(random.randint(0, 9))
#         s2 = chr(random.randint(65, 90))
#         res += random.choice([s1, s2])
#     return res
#
#
# print(make_code())


# 定时更新验证码
import random
from threading import Timer


class Code:
    def __init__(self):
        self.make_cache()

    def make_cache(self, interval=15):
        self.cache = self.make_code()
        print(self.cache)
        self.t = Timer(interval, self.make_cache)
        self.t.start()

    def make_code(self, n=4):
        res = ''
        for i in range(n):
            s1 = str(random.randint(0, 9))
            s2 = chr(random.randint(65, 90))
            res += random.choice([s1, s2])
        return res

    def check(self):
        while True:
            code = input('请输入你的验证码>>: ').strip()
            if code.upper() == self.cache:
                print('验证码输入正确')
                self.t.cancel()
                break


obj = Code()
obj.check()

posted on 2018-06-19 09:10  风-fmgao  阅读(127)  评论(0编辑  收藏  举报