小诺爷 发表于 2020-6-5 07:22:29

求检查代码

mima1 = r'''`!@#$%^&*()_+-=/*{}[]\|'";:/?,.<>'''
mima2 = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
mima3 = '0123456789'
shuru = input("请输入需要判断的密码组合:")
changdu = len(shuru)

while (shuru.isspace() or changdu == 0):
    shuru = input("空白字符无效请重新输入:")
    changdu = len(shuru)

if changdu <=8 :
    changdu_len = 1
elif 8 < changdu < 16 :
    changdu_len = 2
else:
    changdu_len = 3

anquan = 3

for temp in shuru:
    if temp in mima1:
      anquan += 1
      break
for temp in shuru:
    if temp in mima2:
      anquan += 1
      break
for temp in shuru:
    if temp in mima3:
      anquan += 1
      break

while 1:
    print("您输入得密码评级为:",end= " ")
    if anquan == 1 or changdu == 1:
      print("低")
    elif anquan == 3 and changdu == 3 and (shuruin mima2):
      print("高")
    else:
      print("中")
    break
这个代码怎么总是显示密码是中我哪里出错了求大佬检查一下

xiaosi4081 发表于 2020-6-5 07:32:37

你那个else可能要给条件

Twilight6 发表于 2020-6-5 08:18:46

本帖最后由 Twilight6 于 2020-6-5 08:24 编辑

因为你中间的代码给 anquan = 3 赋值了 3你应该赋值 0 后面才能判断   如果你赋值 3 后面 if 条件应该是判断 anquan = 4   或anquan = 6

还有 下面if 条件 应该是判断长度的 changdu_len 而不是 changdu

你这边条件 :shuruin mima2 意思是开头密码要字母吗? 可以删了

完整代码:

mima1 = r'''`!@#$%^&*()_+-=/*{}[]\|'";:/?,.<>'''
mima2 = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
mima3 = '0123456789'
shuru = input("请输入需要判断的密码组合:")
changdu = len(shuru)

while (shuru.isspace() or changdu == 0):
    shuru = input("空白字符无效请重新输入:")
    changdu = len(shuru)

if changdu <=8 :
    changdu_len = 1
elif 8 < changdu < 16 :
    changdu_len = 2
else:
    changdu_len = 3

anquan = 0

for temp in shuru:
    if temp in mima1:
      anquan += 1
      break
for temp in shuru:
    if temp in mima2:
      anquan += 1
      break
for temp in shuru:
    if temp in mima3:
      anquan += 1
      break
while 1:
    print("您输入得密码评级为:",end= " ")
    if anquan == 1 or changdu_len == 1:
      print("低")
    elif anquan == 3 and changdu_len == 3 :
      print("高")
    else:
      print("中")
    break
页: [1]
查看完整版本: 求检查代码