From 3484a46f6dd42ae59af56f04f1c823009effc084 Mon Sep 17 00:00:00 2001 From: Natalia Date: Sun, 3 Nov 2024 01:17:43 +0100 Subject: [PATCH 1/2] solution/m1-009 --- .../009-password-validation/python/main.py | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/projects/009-password-validation/python/main.py b/projects/009-password-validation/python/main.py index e69de29..19f3760 100644 --- a/projects/009-password-validation/python/main.py +++ b/projects/009-password-validation/python/main.py @@ -0,0 +1,52 @@ +def is_valid_password(password): + has_least_eight_characters=True + if len(password)>7: + for character in password: + if ord(character)<33 or ord(character)>126: + has_least_eight_characters=False + else: + return False + if has_least_eight_characters: + + has_least_one_uppercase=False + index=0 + while not(has_least_one_uppercase) and index64 and ord(character)<91: + has_least_one_uppercase=True + index+=1 + + has_least_one_lowercase=False + index=0 + while not(has_least_one_lowercase) and index96 and ord(character)<123: + has_least_one_lowercase=True + index+=1 + + has_least_one_number=False + index=0 + while not(has_least_one_number) and index47 and ord(character)<58: + has_least_one_number=True + index+=1 + + if has_least_one_uppercase and has_least_one_lowercase and has_least_one_number: + return True + else: + return False + else: + return False + +def main(): + password=input("Enter a password: ") + result=is_valid_password(password) + + if result==True: + print("The entered password is valid.") + else: + print("The entered password is not valid.") + +if __name__=="__main__": + main() \ No newline at end of file From e81b6b387ba2b63f4e24fa8c5229246f59de33b7 Mon Sep 17 00:00:00 2001 From: Natalia Date: Fri, 8 Nov 2024 17:24:29 +0100 Subject: [PATCH 2/2] solution/m1-009 --- .../009-password-validation/python/main.py | 72 ++++++++++--------- 1 file changed, 38 insertions(+), 34 deletions(-) diff --git a/projects/009-password-validation/python/main.py b/projects/009-password-validation/python/main.py index 19f3760..f9a14fa 100644 --- a/projects/009-password-validation/python/main.py +++ b/projects/009-password-validation/python/main.py @@ -1,43 +1,47 @@ -def is_valid_password(password): - has_least_eight_characters=True - if len(password)>7: - for character in password: - if ord(character)<33 or ord(character)>126: - has_least_eight_characters=False - else: +def is_valid_password(password: str) -> bool: + if len(password)<8: return False - if has_least_eight_characters: - - has_least_one_uppercase=False - index=0 - while not(has_least_one_uppercase) and index64 and ord(character)<91: - has_least_one_uppercase=True - index+=1 - has_least_one_lowercase=False - index=0 - while not(has_least_one_lowercase) and index96 and ord(character)<123: - has_least_one_lowercase=True - index+=1 + has_least_one_uppercase=False + has_least_one_lowercase=False + has_least_one_number=False + for character in password: + if ord(character)>64 and ord(character)<91: + has_least_one_uppercase=True + elif ord(character)>96 and ord(character)<123: + has_least_one_lowercase=True + elif ord(character)>47 and ord(character)<58: + has_least_one_number=True + elif ord(character)<33 or ord(character)>126: + return False + + # has_least_one_uppercase=False + # index=0 + # while not(has_least_one_uppercase) and index64 and ord(character)<91: + # has_least_one_uppercase=True + # index+=1 + + # has_least_one_lowercase=False + # index=0 + # while not(has_least_one_lowercase) and index96 and ord(character)<123: + # has_least_one_lowercase=True + # index+=1 - has_least_one_number=False - index=0 - while not(has_least_one_number) and index47 and ord(character)<58: - has_least_one_number=True - index+=1 + # has_least_one_number=False + # index=0 + # while not(has_least_one_number) and index47 and ord(character)<58: + # has_least_one_number=True + # index+=1 if has_least_one_uppercase and has_least_one_lowercase and has_least_one_number: return True - else: - return False - else: - return False + return False def main(): password=input("Enter a password: ")