使用Python

时间:2017-08-13 05:28:46

标签: python python-2.7

我想在python中创建一个密码程序? 密码的条件是:

  1. 密码应至少包含一个特殊字符和数字
  2. 密码长度至少应为8
  3. 密码的第一个字母应为字母
  4. 如果满足上述条件,则应打印有效,否则打印无效。

    仅限于使用for和while循环

    P.S-我在初始阶段学习python

1 个答案:

答案 0 :(得分:0)

您不需要循环或while循环。 Python有一套令人印象深刻的内置函数来帮助你解决这个问题。

以下是对使用内容的细分:

  1. 一个特殊字符和数字:使用re.searchimport re优先)

  2. 密码长度至少应为8:使用len

  3. 密码的第一个字母应为字母:使用str.isalpha

  4. In [49]: import re
        ...: 
        ...: def foo(password):
        ...:     return password[0].isalpha() and\            # 3
        ...:            len(password) >= 8 and\               # 2
        ...:            bool(re.search('\d', password)) and\  # 1a
        ...:            bool(re.search('[^\w]', password))    # 1b
        ...: 
    
    In [50]: foo('test123!')
    Out[50]: True
    
    In [51]: foo('test!')
    Out[51]: False
    

    返回一个布尔值比返回一个字符串更清晰,更可读,如"(in)valid"您必须稍后手动解释。