Python 如何检查数组中的单个字母字符串是否在单独的字符串中

Python 如何检查数组中的单个字母字符串是否在单独的字符串中,python,arrays,string,passwords,Python,Arrays,String,Passwords,我正在用python编写密码强度检查器,需要查看密码是否包含数字、小写字母和大写字母。只有1种类型为弱,2种类型为中等,三种类型均为强 密码以password2的形式输入,我创建了一个数组,其中所有字母(分别为小写和大写)和0-9分别作为字符串输入到三个数组中 感谢您的帮助。 干杯 James为您指明方向的简单方法。这利用了一些实用程序,如字符串模块和内置的任意和求和函数,以及求和布尔时的类型强制: from string import ascii_uppercase as u, ascii_l

我正在用python编写密码强度检查器,需要查看密码是否包含数字、小写字母和大写字母。只有1种类型为弱,2种类型为中等,三种类型均为强

密码以password2的形式输入,我创建了一个数组,其中所有字母(分别为小写和大写)和0-9分别作为字符串输入到三个数组中

感谢您的帮助。 干杯
James

为您指明方向的简单方法。这利用了一些实用程序,如
字符串
模块和内置的
任意
求和
函数,以及求和
布尔
时的类型强制:

from string import ascii_uppercase as u, ascii_lowercase as l, digits as d

def strength(password):
    return sum(any(c in chars for c in password) for chars in (u, l, d))

>>> strength('abc')
1
>>> strength('abc123')
2
>>> strength('abcD123')
3

我不确定我是否理解正确

# s is password input
has_num = any(map(str.isalnum, s))       # True or False
has_lower = any(map(str.islower, s))
has_upper = any(map(str.isupper, s))
n_types = sum((has_num, has_lower, has_upper))    # type count

使用正则表达式或使用unicode数据尝试unicode数据库欢迎使用SO。不幸的是,这不是一个讨论论坛、教程或代码编写服务。请花点时间阅读该页面上的链接和其他链接。你应该花一些时间来练习这些例子。它将向您介绍Python提供的工具,您甚至可以开始获得解决问题的想法。对大多数错误进行排序后,我知道无论输入什么,都会得到0。我正在使用
打印(强度(密码2))
输出答案@schwobasegll