How do you use: isalnum, isdigit, isupper to test each character of a string?(你如何使用:isalnum、isdigit、isupper 来测试字符串的每个字符?)
问题描述
我正在尝试制作一个密码强度模拟器,它要求用户输入密码,然后返回分数.
I am trying to make a password strength simulator which asks the user for a password and then gives back a score.
我正在使用:
islanum()
isdigit()
isupper()
试试看输入的密码有多好.
to try and see how good the inputted password is.
我希望它不是返回布尔值,而是评估密码的每个字符,然后程序将所有真"值相加并将其转换为分数.示例代码:
Instead of returning boolean values, I want this to assess each characters of the password, and then the program to add up all the "True" values and turn it into a score. EXAMPLE CODE:
def upper_case():
points = int(0)
limit = 3
for each in pword:
if each.isupper():
points = points + 1
return points
else:
return 0
任何帮助将不胜感激!谢谢!!
Any help would be much appreciated!! THANKS!!
推荐答案
.isalnum()
, .isupper()
, .isdigit()
和朋友是 Python 中 str
类型的方法,调用方式如下:
.isalnum()
, .isupper()
, .isdigit()
and friends are methods of the str
type in Python and are called like this:
>>> s = "aBc123"
>>> s[0].isalnum()
True
>>> s[1].isupper()
True
>>> s[3].isdigit()
True
简单的getscore()
功能:
Simple getscore()
Function:
s = "aBc123@!xY"
def getscore(s):
score = 0
for c in s:
if c.isupper():
score += 2
elif c.isdigit():
score += 2
elif c.isalpha():
score += 1
else:
score += 3
return score
print getscore(s)
输出:
13
更好的版本:
s = "aBc123@!xY"
def getscore(s):
return len(s) + len([c for c in s if c.isdigit() or c.isupper() or not c.isalpha()])
print getscore(s)
输出:
17
这篇关于你如何使用:isalnum、isdigit、isupper 来测试字符串的每个字符?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:你如何使用:isalnum、isdigit、isupper 来测试字符串的每个字符?
基础教程推荐
- 筛选NumPy数组 2022-01-01
- 在 Python 中,如果我在一个“with"中返回.块,文件还会关闭吗? 2022-01-01
- 何时使用 os.name、sys.platform 或 platform.system? 2022-01-01
- 如何让 python 脚本监听来自另一个脚本的输入 2022-01-01
- 用于分类数据的跳跃记号标签 2022-01-01
- Dask.array.套用_沿_轴:由于额外的元素([1]),使用dask.array的每一行作为另一个函数的输入失败 2022-01-01
- 如何在海运重新绘制中自定义标题和y标签 2022-01-01
- Python kivy 入口点 inflateRest2 无法定位 libpng16-16.dll 2022-01-01
- 使用PyInstaller后在Windows中打开可执行文件时出错 2022-01-01
- 线程时出现 msgbox 错误,GUI 块 2022-01-01