如何测试字符串中的字符是否为数字



我正在尝试制作一个测试密码强度的程序。现在,其他一切都有效,但数字却不起作用。如果字符串不返回最后一个print语句,我就无法测试它是否是数字。我可能没有很好地解释它,但我如何才能使它测试字符串中的字符是否是数字?

error_list = ['']
errors = ''
password = str(input('Enter in your password to test: '))
for char in password:
if type(char) == int:
safe_unsafe.append('y')
else:
safe_unsafe.append('n')
if 'y' in safe_unsafe:
pass
else:
errors = errors + 'No instance of a number was found.n'
error_list.append('number')
safe_unsafe.clear()
print(errors)

您正在寻找isdigit()API
https://docs.python.org/3.8/library/stdtypes.html#str.isdigit

示例

str = "1"
str.isdigit() #this return True
"a".isdigit() #return False

代码中的更新

error_list = ['']
errors = ''
password = str(input('Enter in your password to test: '))
for char in password:
if char.isdigit():  #changed line
safe_unsafe.append('y')
else:
safe_unsafe.append('n')
if 'y' in safe_unsafe:
pass
else:
errors = errors + 'No instance of a number was found.n'
error_list.append('number')
safe_unsafe.clear()
print(errors)

最新更新