Skip to content

Python 809 密碼規則

Python String TQC

題目說明:

請撰寫一程式,要求使用者輸入一個密碼(字串),檢查此密碼是否符合規則。密碼規則如下:
 a. 必須至少八個字元。
 b. 只包含英文字母和數字。
 c. 至少要有一個大寫英文字母。
 d. 若符合上述三項規則,程式將顯示檢查結果為【Valid password】,否則顯示【Invalid password】。

範例輸入1
39Gfjkd98

範例輸出1

Valid password

範例輸入2

39dk8fh

範例輸出2

Invalid password

題目解析

問題分析:

  1. 使用者需要輸入一個密碼(字串)。
  2. 程式需要檢查此密碼是否符合特定的規則。
  3. 密碼規則包括:a. 必須至少八個字元;b. 只能包含英文字母和數字;c. 至少要有一個大寫英文字母。
  4. 如果密碼符合上述三項規則,則輸出 “Valid password”;否則輸出 “Invalid password”。

解題思路:

  1. 讓使用者輸入一個密碼。
  2. 使用條件判斷來檢查密碼是否符合規則。
  3. 如果密碼的長度小於 8 個字元,或者包含非英文字母和數字的字符,則輸出 “Invalid password”。
  4. 否則,如果密碼中沒有大寫字母,也輸出 “Invalid password”。
  5. 如果密碼符合上述條件,則輸出 “Valid password”。

思考方向:

  1. 如何使用程式設計來檢查密碼是否符合規則?
  2. 如何利用條件判斷來處理不同的檢查條件?
  3. 如何確保程式能夠準確地檢測密碼是否符合所有的規則?

Solution

password = input()

if len(password) < 8:
    print("Invalid password")
else:
    has_upper = False
    has_num = False
    for char in password:
        # print(char.isalnum())
        if not char.isalnum():
            print("Invalid password")
            break
        if char.isupper():
            has_upper = True
        if char.isnumeric():
            has_num = True

    else:
        if has_upper and has_num:
            print("Valid password")
        else:
            print("Invalid password")

Last update : 13 novembre 2024
Created : 13 novembre 2024

Comments

Comments