程式說明:通過獲取使用者輸入,判斷密碼長度是否大於8,同時判斷其中是否包含數字和字母,並返回相關資訊。
【相關知識點】
python字串:
str.isnumeric() -----檢測字串是否只有數字 返回true or false(注意是只有數字)
str.isalpha() -----檢測字串中是否只有字母 返回true or false
str.islower() -----檢測字串中是否都為小寫
str.isupper() ------檢測字串中是否都為大寫
"""
日期: 2019.05.19
功能: 判斷輸入密碼的強弱
版本: v2.0
增加功能: 迴圈終止
"""# 判斷輸入字串中是否含有數字
def existnumber(password_str):
has_number = false
for c in password_str:
if c.isnumeric():
has_number = true
break
return has_number
# 程式中一般不連續用兩個return
# return true # return 提前終止迴圈
# return false
# 判斷輸入字串中是否含有字母
# def existalpha(password_str):
# for c in password_str:
# if c.isalpha():
# return true
# return false
# v2.0 判斷輸入字串中是否含有字母
def existalpha(password_str):
has_alpha = false
for c in password_str:
if c.isalpha():
has_alpha = true
break
return has_alpha
def main():
"""主函式
:return:12
"""try_times = 5
while try_times > 0:
password = input('請輸入密碼:')
# 密碼強度
strength_level = 0
# 規則一: 密碼長度大於8
if len(password) >= 8:
strength_level += 1
else:
print('請輸入長度大於8的密碼...')
# 規則二: 判斷是否有數字
if existnumber(password):
strength_level += 1
else:
print('密碼中需包含數字')
#規則三: 密碼中包含字母
if existalpha(password):
strength_level += 1
else:
print('密碼中需包含字母')
if strength_level == 3:
print('密碼輸入正確!')
break
else:
try_times -= 1
if try_times == 0:
print('密碼錯誤次數太多!')
else:
print('密碼錯誤!剩餘{}次'.format(try_times))
print() #新增空行
if __name__ == '__main__':
main()
python判斷字串
python判斷字串 s為字串 s.isalnum 所有字元都是數字或者字母 s.isalpha 所有字元都是字母 s.isdigit 所有字元都是數字 s.islower 所有字元都是小寫 s.isupper 所有字元都是大寫 s.istitle 所有單詞都是首字母大寫,像標題 s.isspace...
判斷字串 python判斷字串是否包含字母
第一種方法 使用正規表示式判斷字串是否包含字母 coding utf 8 import re def check str my re re.compile r a za z re.s res re.findall my re,str if len res print u 含有英文本元 else pr...
判斷字串 python判斷字串以什麼開始
python在處理文字的時候經常需要判斷以什麼字串開頭,可以取字串索引進行判斷,也可以直接使用startswith函式進行判斷。str 人生苦短,我用python if len str 2 and str 2 人生 print 以 人生 開頭的字串 else print 不以 人生 開頭的字串 要取...