Python教程

Python学习日记(六)

本文主要是介绍Python学习日记(六),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

格式化方法:

  • format()方法

格式化函数,可以将字符串以特定格式输出,参数用{}括起来

  • 位置参数
  • 关键字参数
  • 综合位置参数和关键字参数时需要注意位置参数应该在关键字参数之前
  • 参数后面的冒号表示格式化符号的开始
  • >>> "{0} love {1}.{2}".format("I", "FishC", "com")
    'I love FishC.com'
    >>> "{a} love {b}.{c}".format(a = "I", b = "FishC", c = "com")
    'I love FishC.com'
    >>> 

 

 

习题:

  • 要求编写一个密码安全性检查的脚本check.py
  • 需求:
       低级密码要求:
    #   1. 密码由单纯的数字或字母组成
    #   2. 密码长度小于等于8位
    
       中级密码要求:
    #   1. 密码必须由数字、字母或特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)任意两种组合
    #   2. 密码长度不能低于8位
    
       高级密码要求:
    #   1. 密码必须由数字、字母及特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)三种组合
    #   2. 密码只能由字母开头
    #   3. 密码长度不能低于16位
    
    代码一:
    symbols = "~!@#$%^&*()_=-/,.?<>;:[]{}\|"
    chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
    nums = '0123456789'
    t = 'y'
    while t == 'y':
        passwd = input('您输入的密码为空(或空格),请重新输入:')
        length = len(passwd)    
    #判断长度
        while(passwd.isspace() or length == 0):
            passwd = input('您输入的密码为空(或空格),请重新输入:')
            length = len(passwd)
        if length <= 8:
            flag_len = 1
        elif 8 < length <16:
            flag_len = 2
        else:
            flag_len = 3
        flag_con = 0
    #判断是否包含特殊字符
        for each in passwd:
            if each in symbols:
                flag_con +=1
                break
    #判断是否包含字母
        for each in passwd:
            if each in chars:
                flag_con += 1
                break
    #判断是否包含数字
        for each in passwd:
            if each in nums:
                flag_con += 1
                break
    #打印结果
        while 1:
            print("您的密码安全级别评定为:",end='')
            if flag_len == 1 or flag_con == 1:
                print("低")
            elif flag_len == 2 or flag_con == 2:
                print("中")
            else:
                print("高")
                print("请继续保持")
                break
            print("""请按以下方式提升您的密码安全级别:
        1.密码必须由数字、字母及特殊字符三种组合
        2.密码只能由字母开头
        3.密码长度不能低于16位""")
            break
        t = input("还要再测试么?(”y“继续,其他退出)")
    
    
    代码二:
    str1 = "~!@#$%^&*()_=-/,.?<>;:[]{}\|"
    has_str1 = 0
    has_num = 0
    has_alpha = 0
    t = 'y'
    while t == 'y':
            password = input("请输入需要检查的密码组合:")
            length = len(password)
            while(password.isspace() or length == 0):  # 有空格或者长度为零
                    password = input('您输入的密码为空(或空格),请重新输入:')
            for i in password:
                    if i in str1:
                            has_str1 = 1
                    if i.isdigit():  # 所有字符都是数字
                            has_num = 1
                    if i.isalpha():  # 所有字符都是字母
                            has_alpha = 1
            has =  has_str1 + has_num + has_alpha
            if length <= 8 or password.isalnum():
                    level = "低"
            if length > 8 and has ==2:
                    level = "中"
            if length >= 16 and has == 3 and password[0].isalnum():
                    level = "高"
            print("您的密码安全等级评定为:%s"%level)
            if level == "高":
                    print("请继续保持")
            else:
                    print("""请按以下方式提升您的密码安全级别:
            1.密码必须由数字、字母及特殊字符三种组合
            2.密码只能由字母开头
            3.密码长度不能低于16位""")
            t = input("还要再测试么?(”y“继续,其他退出)")

     

  • 总结:字符串内置方法总结

 

  • 字符串格式化符号

 

  • 格式化操作符辅助指令
  • >>> '%5.1f' % 27.678
    ' 27.7'
    >>> '%.2e' % 27.6789
    '2.77e+01'
    >>> '%10d' % 5
    '         5'
    >>> '%-10d' % 5
    '5         '
    >>> '%010d' % 5
    '0000000005'
    >>> '% # x' % 100
    '0x64'

     

  • 字符串转义字符含义
这篇关于Python学习日记(六)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!