Python的听课笔记案例6--判断密码数据3.0

原创
小哥 3年前 (2022-11-02) 阅读数 7 #大杂烩

本部分主要依托口令案例来解释操作文件的内容:

文件操作:
步骤:打开文件->操作文件(读、写等)->关闭文件

1、打开文件:在文件和程序之间建立关联。
open(filename, mode)
filename:文件名(含路径);mode:打开模式
r 只读,如果文件不存在,将报告错误。
w 只写,如果文件不存在,则会自动创建这些文件,并且将清除现有内容的覆盖。
a 附加到文件末尾
r+ 读写

2、操作文件:写、读等。
写入操作:将数据从计算机内存写入文件。
write():将文本数据写入文件
writelines():将字符串列表写入文件。

3,关闭文件:终止程序与文件的关联。
close()

"""
    作者:lanxingbudui
    版本:3.0
    日期:2019-07-24
    功能:确定密码强度
    2.0新功能:限制密码身份验证次数并终止周期
    3.0新功能:将密码及其强度保存到文件中

"""

def check_number_str(password_str):
    """
    确定字符串是否包含数字。
    """
    has_number = False
    for c in password_str:
        if c.isnumeric():
            has_number = True
            break
    return has_number

def check_letter_str(password_str):
    """
    确定字符串是否包含字母
    """
    has_letter = False
    for c in password_str:
        if c.isalpha():
            has_letter = True
            break
    return has_letter

def main():
    """
    主函数
    """
    try_times = 5

    while try_times >= 0:

        password = input(请输入密码:)

        # 密码强度
        strength_level = 0

        # 规则1:密码长度较长8位
        if len(password) >= 8:
            strength_level += 1
        else:
            print(密码长度必须大于8位)
        # 规则2:密码包含数字
        if check_number_str(password):
            strength_level += 1
        else:
            print(密码要求包括数字!)
        # 规则3:密码包含字母
        if check_letter_str(password):
            strength_level += 1
        else:
            print(密码要求包括字母!)
        f = open(password_3.0.txt, a)
        f.write(密码:{},强度:{}

.format(password, strength_level)) f.close() if strength_level == 3: print(祝贺你!密码强度合格!) break else: print(密码强度不合格!) try_times -= 1 print() if try_times <= 0: print(密码尝试次数过多,请重置!)

if __name__ == __main__:
        main()

版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除