1081 檢查密碼 (15分)
本題要求你幫助某**的使用者註冊模組寫乙個密碼合法性檢查的小功能。該**要求使用者設定的密碼必須由不少於6個字元組成,並且只能有英文本母、數字和小數點 .,還必須既有字母也有數字。
輸入格式:
輸入第一行給出乙個正整數 n(≤ 100),隨後 n 行,每行給出乙個使用者設定的密碼,為不超過 80 個字元的非空字串,以回車結束。
輸出格式:
對每個使用者的密碼,在一行中輸出系統反饋資訊,分以下5種:
如果密碼合法,輸出your password is wan mei.;
如果密碼太短,不論合法與否,都輸出your password is tai duan le.;
如果密碼長度合法,但存在不合法字元,則輸出your password is tai luan le.;
如果密碼長度合法,但只有字母沒有數字,則輸出your password needs shu zi.;
如果密碼長度合法,但只有數字沒有字母,則輸出your password needs zi mu.。
輸入樣例:
5123s
zheshi.wodepw
1234.5678
wanmei23333
pass*word.6
輸出樣例:
your password is tai duan le.
your password needs shu zi.
your password needs zi mu.
your password is wan mei.
your password is tai luan le.
version1:
三個測試點出錯……
分析:想直接通過布林運算 isdigit() isalpha() isalnum() 解決。首先對輸入列表進行排序,列表順序應當是:數字《大寫字母《小寫字母,這是沒問題的,我想出錯的原因就在於除去『.』的地方。因為 remove(x) 僅移除順序的第乙個x。
n =
int(
input()
)for i in
range
(n):
pwd =
list
(input()
)iflen(pwd)
<6:
# 太短
print
('your password is tai duan le.'
)continue
if'.'
in pwd:
# 去除'.'便於進行數字和字母的布林判斷
pwd.remove(
'.')
pwd.sort()if
not''
.join(pwd)
.isalnum():
print
('your password is tai luan le.'
)elif
not pwd[0]
.isdigit():
print
('your password needs shu zi.'
)elif
not pwd[-1
].isalpha():
print
('your password needs zi mu.'
)else
:print
('your password is wan mei.'
)
version2:
ac分析:先採用字串的形式儲存輸入,判斷長度合法性,然後去除『.』;然後再將其轉換為列表形式,排序後利用上述布林運算進行判斷即可~
注意:字串的 replace 方法返回修改後的字串,但不會原地修改原字串!
n =
int(
input()
)for i in
range
(n):
ls =
input()
iflen
(ls)
<6:
# 太短
print
('your password is tai duan le.'
)continue
if'.'
in ls:
# 去除'.'便於進行數字和字母的布林判斷
ls = ls.replace(
'.','')
pwd =
list
(ls)
pwd.sort()if
not''
.join(pwd)
.isalnum():
print
('your password is tai luan le.'
)elif
not pwd[0]
.isdigit():
print
('your password needs shu zi.'
)elif
not pwd[-1
].isalpha():
print
('your password needs zi mu.'
)else
:print
('your password is wan mei.'
)
B1081 檢查密碼 15 分
本題要求你幫助某 的使用者註冊模組寫乙個密碼合法性檢查的小功能。該 要求使用者設定的密碼必須由不少於6個字元組成,並且只能有英文本母 數字和小數點 還必須既有字母也有數字。輸入格式 輸入第一行給出乙個正整數 n 100 隨後 n 行,每行給出乙個使用者設定的密碼,為不超過 80 個字元的非空字串,以...
1081 檢查密碼
1081 檢查密碼 15 分 本題要求你幫助某 的使用者註冊模組寫乙個密碼合法性檢查的小功能。該 要求使用者設定的密碼必須由不少於6個字元組成,並且只能有英文本母 數字和小數點 還必須既有字母也有數字。輸入格式 輸入第一行給出乙個正整數 n 100 隨後 n 行,每行給出乙個使用者設定的密碼,為不超...
1081 檢查密碼
本題要求你幫助某 的使用者註冊模組寫乙個密碼合法性檢查的小功能。該 要求使用者設定的密碼必須由不少於6個字元組成,並且只能有英文本母 數字和小數點.還必須既有字母也有數字。輸入第一行給出乙個正整數 n 100 隨後 n 行,每行給出乙個使用者設定的密碼,為不超過 80 個字元的非空字串,以回車結束。...