【发布时间】:2026-01-12 23:25:01
【问题描述】:
我正在为我的班级做一个简单的项目来检查密码是否只包含数字和字母而没有其他字符,但我的变量计数一直出错。
代码运行正确的if 语句,但它不会添加到计数器中。最后,它还返回True 而不是False。有什么帮助吗?
def chaCheck2(password):
for i in range(len(password)):
goodCha = 0
badCha = 0
if 48 <= ord(password[i]) <= 57 or 65 <= ord(password[i]) <= 90 or
97 <=
ord(password[i]) <= 122:
goodCha += 1
print ("goodCha: ", goodCha)
else:
badCha += 1
print("badCha: ", badCha)
if badCha > 0:
print("False")
else: print("True")
chaCheck2("a.bcd")
输出:
goodCha: 1
badCha: 1
goodCha: 1
goodCha: 1
goodCha: 1
True
【问题讨论】:
-
这是我使用的输入。 (chaCheck2("a.bcd"))
-
用
str.isalnum()怎么样?
标签: python string python-3.x counter boolean-logic