在没有错误的地方显示打印

时间:2018-11-26 09:07:40

标签: python-3.x

if password:
    if blank > 0:
        errorcount += 1
    if letter > 0:
       errorcount += 1
    if upper < 1:
        errorcount += 1
    if lower < 1:
        errorcount += 1
    if numbdig < 2:
        errorcount += 1
    if passwords < minimum:
        errorcount += 1
    print(password, 'is not valid', errorcount, 'errors!')
else:
    print(password, 'is valid!')

当错误为0时,应该打印else,但是打印无效的照片。

2 个答案:

答案 0 :(得分:1)

输出正确,因为没有错误的情况意味着外部if块,即 if password为真,因此不会执行您的else

if password内部,有一条打印语句正在打印。

您可以做的是,检查您的errorcount变量并相应地打印:

if errorcount >= 1:
    print(password, 'is not valid', errorcount, 'errors!')
else:
    print(password, 'is valid!') 

答案 1 :(得分:0)

计算errorcount后,应进行检查

if password:
    if blank > 0:
        errorcount += 1
    if letter > 0:
        errorcount += 1
    if upper < 1:
        errorcount += 1
    if lower < 1:
        errorcount += 1
    if numbdig < 2:
        errorcount += 1
    if passwords < minimum:
        errorcount += 1

    if errorcount > 0: #check here
        print(password, 'is not valid', errorcount, 'errors!')
    else: #no error
        print(password, 'is valid!')
else: #password is null or false
    print(password, 'is null!')