'str' object is not callable的问题
def string(x):string1 = "~!@#$%^&*()_=-/,.?<>;:[]{}|\\"
l = len(x)
zf = 0
long = len(string1)
for i in range(0, l):
for j in range(0, long):
if x == string1:
zf = 1
break
if zf == 1:
return 1
else:
return 0
def digit(y):
string2 = "0123456789"
lenth1 = len(y)
lenth2 = len(string2)
sz = 0
for n in range(0, lenth1):
for m in range(0, lenth2):
if y == string2:
sz = 1
break
if sz == 1:
return 1
else:
return 0
def alpha(z):
string3 = "QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm"
zm = 0
long1 = len(z)
long2 = len(string3)
for g in range(0, long1):
for h in range(0, long2):
if z(g) == string3(h):
zm = 1
break
if zm == 1:
return 1
else:
return 0
a = input("请输入需要检测的密码组合:")
extent = len(a)
if a.isdigit() or a.isalpha() and extent <= 8:
print("你的密码检测指数为:低\n")
print("建议更改并提高安全系数!")
elif (string(a) and digit(a) and not alpha(a)) or (string(a) and not digit(a) and alpha(a)) or (
not string(a) and digit(a) and alpha(a)) and extent >= 8:
print("密码安全等级中等\n")
print("还是建议继续增强密码的复杂度!")
elif string(a) and digit(a) and alpha(a):
print("你的密码安全系数很高!\n")
print("你的安全隐私意识很到位!请继续保持!")
我用了个比较笨的方法,但就是alpha函数里面,那个调用string3(h)出问题了,就提示那个‘str’object is not callable ,在百度上搜了下,说是str本来是个函数,但你之前把它当做变量使用了,后面想再用就会出问题,但我这个也没这么用啊,而且,我把这个函数单独拿出来另外创建了个程序也是同样的错误,而其他两个 string()和digit()函数都没用问题,我傻了。 所以来向大佬请教一下,秋梨膏 我这边运行没问题啊... 本帖最后由 jackz007 于 2020-11-8 10:42 编辑
for g in range(0, long1):
for h in range(0, long2):
if z(g) == string3(h):# 错误语句
改为
for g in range(0, long1):
for h in range(0, long2):
if z == string3:# 修改这一句
你是把字符串当函数调用了(用了小括号),楼上已经指出了 拼写错误吧
(拿鱼币走人,打扰了{:10_256:}) 语法错误 jackz007 发表于 2020-11-8 10:41
改为
我可真是 傻,敲懵了,,, 昨非 发表于 2020-11-8 11:14
拼写错误吧
(拿鱼币走人,打扰了)
嘤嘤嘤我真傻真的 piscesng 发表于 2020-11-8 14:06
嘤嘤嘤我真傻真的
老祥林嫂了
语法错误呀
页:
[1]