함수가 함수 외부에 오류 메시지를 표시하도록 허용하지 않습니까?

Chazza82

입력 한 비밀번호가 8 자 이상인지, 대문자와 소문자, 숫자가 있는지 확인하는 비밀번호 검사기로 시도하는 코드를 만들었습니다. 그러나 사용자에게 암호에서 누락 된 부분을 알려주는 오류 메시지 (예 : "최소 한 개의 소문자를 포함하십시오")를 표시하려고하면 오류가 표시되지 않습니다!

def passChecker():
  global errorMsg
  errorMsg=0
  valid=False
  while valid==False:
    pass_=input("Please create a password:\n")
    if len(pass_)>=8 and len(pass_)<=20 and valid==False:
     for i in pass_:
       if i==i.lower() and valid==False:
          for i in pass_:
            if i==i.upper() and valid==False:
              for i in pass_:
                if i.isdigit() and valid==False:
                  print("Password is valid.")
                  valid=True
                  break
              if valid==False:
                errorMsg==4
            else:
              errorMsg==3
        else:
            errorMsg==2
    else:
      errorMsg==1

passChecker()
if errorMsg==1:
    print("Please ensure your password is more than 8 characters long")
if errorMsg==2:
    print("Please ensure your password contains at least one lower case letter")
if errorMsg==3:
    print("Please ensure your password contains at least one upper case letter")
if errorMsg==4:
    print("Please ensure your password contains at least one digit")

"Password"를 입력하면 "Please create a password"가 표시됩니다.

"password"를 입력하면 "Please create a password"가 표시됩니다.

"Password1"을 입력하면 "Password is valid"가 표시되고 코드가 종료됩니다 (정확함) *

"password1"을 입력하면 "Password is valid"가 표시됩니다 (맞지 않음) **

* 모든 조건 충족 ** "대문자 필요"조건을 충족하지 않음

사전에 도움을 주셔서 감사합니다 :)

지역

다음은 오류 코드를 함수의 반환 값으로 사용하는 권장 버전입니다.

다양한 유형의 문자가 포함되어 있는지 확인할 때 순서에 관계없이 작동해야합니다. 쉬운 방법 (확실히 많은 대안이 있지만)은 문자를 찾을 때 설정하는 부울 변수를 갖는 것입니다. 필요한 유형의. 참고 i == i.lower()그것은 또한 evalutates 때문에, 소문자에 대한 정확한 테스트를하지 True않은 문자에 대한; 사용 i.islower()-및 유사하게 어퍼.

def passChecker():

    pass_ = input("Please create a password:\n")

    if len(pass_) < 8 or len(pass_) > 20:
        return 1

    has_lower = has_upper = has_digit = False
    for i in pass_:
        if i.islower():
            has_lower = True
        elif i.isupper():
            has_upper = True
        elif i.isdigit():
            has_digit = True
            
    if not has_lower:
        return 2

    if not has_upper:
        return 3

    if not has_digit:
        return 4

    print("Password is valid.")
    return 0


errorCode = passChecker()

if errorCode == 1:
    print("Please ensure your password is between 8 and 20 characters long")
elif errorCode == 2:
    print("Please ensure your password contains at least one lower case letter")
elif errorCode == 3:
    print("Please ensure your password contains at least one upper case letter")
elif errorCode == 4:
    print("Please ensure your password contains at least one digit")

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

따옴표가 포함 된 변수를 허용하지 않도록 배치 스크립트에 지시

분류에서Dev

함수 내부에 오류가 발생하지만 외부에는 오류가 없습니다.

분류에서Dev

오류 메시지 인수 'angularCrud'가 함수가 아닙니다. AngularJS를 사용하는 MVC4에서 정의되지 않았습니다.

분류에서Dev

제어가 변경되지 않은 경우에도 md-error가 오류 메시지를 표시하도록 허용

분류에서Dev

for 루프에서 함수 호출을 시도하고 사용하지 않는 인수 오류가 발생 함

분류에서Dev

오류 메시지를 표시해야하는 함수가 표시하지 않음

분류에서Dev

useState 메서드가 외부 변수에 대한 액세스를 허용하지 않습니까?

분류에서Dev

validator.js 부트 스트랩이 작동하지만 함수 오류가 표시되지 않습니다.

분류에서Dev

Redshift 오류에서 DATEADD 함수가 허용되지 않음

분류에서Dev

Redshift 오류에서 DATEADD 함수가 허용되지 않음

분류에서Dev

컴파일 오류, .NET에 존재하는 함수가 표시되지 않음

분류에서Dev

함수 내에서 which를 사용하거나 함수에서 변수를 지정하지 않아 오류가 발생할 수 있습니다.

분류에서Dev

Numpy : 함수 내부에서 시도 / 예외가 메시지를 인쇄하지 못함

분류에서Dev

오류 C2660 : 함수가 X 인수를 사용하지 않습니다.

분류에서Dev

인수가 일치하지 않는 클로저 호출 : 함수 '[]'오류가 flutter에 표시됩니다.

분류에서Dev

C ++ 시스템 함수가 문자열을 허용하지 않습니까?

분류에서Dev

외부 함수의 오류 메시지 억제

분류에서Dev

오류 : '수학'이이 함수에서 처음 사용하도록 선언되지 않았습니다.

분류에서Dev

예외가 발생하면 extern C ++ 함수가 메시지를 반환하도록합니다.

분류에서Dev

외부 C 함수에서 Modelica 레코드를 반환하는 동안 오류가 발생했습니다.

분류에서Dev

Tradingview Pine Script plotshape 함수가 조건부 시리즈에서 작동하지 않습니다-오류는 어디에 있습니까?

분류에서Dev

EXISTS 오류와 함께 하위 쿼리가 도입되지 않은 경우 선택 목록에서 하나의 표현식 만 지정할 수 있습니다.

분류에서Dev

함수 오류 : 함수가 모든 코드 경로에서 값을 반환하지 않습니다.

분류에서Dev

Morgan을 사용하여 오류 메시지를 기록 할 수 있습니까?

분류에서Dev

오류 메시지에서 변수를 얻습니까?

분류에서Dev

내 EditTexts를 어디에 넣어서 nullpointer 예외 오류가 발생하지 않도록 할 수 있습니까?

분류에서Dev

ReactJs의 Map 함수 내부의 모달에 오류 메시지가 있습니다.

분류에서Dev

예외를 발생시키지 않아야하는 함수가 있습니까?

분류에서Dev

Sass 오류 : 함수가 올바른지도를 반환하지 않습니다.

Related 관련 기사

  1. 1

    따옴표가 포함 된 변수를 허용하지 않도록 배치 스크립트에 지시

  2. 2

    함수 내부에 오류가 발생하지만 외부에는 오류가 없습니다.

  3. 3

    오류 메시지 인수 'angularCrud'가 함수가 아닙니다. AngularJS를 사용하는 MVC4에서 정의되지 않았습니다.

  4. 4

    제어가 변경되지 않은 경우에도 md-error가 오류 메시지를 표시하도록 허용

  5. 5

    for 루프에서 함수 호출을 시도하고 사용하지 않는 인수 오류가 발생 함

  6. 6

    오류 메시지를 표시해야하는 함수가 표시하지 않음

  7. 7

    useState 메서드가 외부 변수에 대한 액세스를 허용하지 않습니까?

  8. 8

    validator.js 부트 스트랩이 작동하지만 함수 오류가 표시되지 않습니다.

  9. 9

    Redshift 오류에서 DATEADD 함수가 허용되지 않음

  10. 10

    Redshift 오류에서 DATEADD 함수가 허용되지 않음

  11. 11

    컴파일 오류, .NET에 존재하는 함수가 표시되지 않음

  12. 12

    함수 내에서 which를 사용하거나 함수에서 변수를 지정하지 않아 오류가 발생할 수 있습니다.

  13. 13

    Numpy : 함수 내부에서 시도 / 예외가 메시지를 인쇄하지 못함

  14. 14

    오류 C2660 : 함수가 X 인수를 사용하지 않습니다.

  15. 15

    인수가 일치하지 않는 클로저 호출 : 함수 '[]'오류가 flutter에 표시됩니다.

  16. 16

    C ++ 시스템 함수가 문자열을 허용하지 않습니까?

  17. 17

    외부 함수의 오류 메시지 억제

  18. 18

    오류 : '수학'이이 함수에서 처음 사용하도록 선언되지 않았습니다.

  19. 19

    예외가 발생하면 extern C ++ 함수가 메시지를 반환하도록합니다.

  20. 20

    외부 C 함수에서 Modelica 레코드를 반환하는 동안 오류가 발생했습니다.

  21. 21

    Tradingview Pine Script plotshape 함수가 조건부 시리즈에서 작동하지 않습니다-오류는 어디에 있습니까?

  22. 22

    EXISTS 오류와 함께 하위 쿼리가 도입되지 않은 경우 선택 목록에서 하나의 표현식 만 지정할 수 있습니다.

  23. 23

    함수 오류 : 함수가 모든 코드 경로에서 값을 반환하지 않습니다.

  24. 24

    Morgan을 사용하여 오류 메시지를 기록 할 수 있습니까?

  25. 25

    오류 메시지에서 변수를 얻습니까?

  26. 26

    내 EditTexts를 어디에 넣어서 nullpointer 예외 오류가 발생하지 않도록 할 수 있습니까?

  27. 27

    ReactJs의 Map 함수 내부의 모달에 오류 메시지가 있습니다.

  28. 28

    예외를 발생시키지 않아야하는 함수가 있습니까?

  29. 29

    Sass 오류 : 함수가 올바른지도를 반환하지 않습니다.

뜨겁다태그

보관