鱼C论坛

 找回密码
 立即注册
查看: 1716|回复: 11

《零基礎學Python》第14講 字符串:各種奇葩的內置方法

[复制链接]
回帖奖励 3 鱼币 回复本帖可获得 1 鱼币奖励! 每人限 1 次(中奖概率 50%)
发表于 2018-4-10 11:42:45 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
password = input('請輸入需要檢查的密碼組合:')
character = "~!@#$%^&*()_=-/,.?<>;:[]{}\|"
while password != " ":
    if password in character and password. istitle() and password. isalnum() or len(password) > 16:
        print("您的密碼安全級別判定為 : 高")
        break
    elif password. isalnum() or len(password) <= 8:
        print("""您的密碼安全級別判定為 : 低
請按以下方式提升您的密碼安全級別:
        1. 密碼必須由數字、 字母及特殊字符三種組合
        2. 密碼只能由字母開頭
        3. 密碼長度不能低於16位""")
        break
    else:
        print("""您的密碼安全級別判定為 : 中
請按以下方式提升您的密碼安全級別:
        1. 密碼必須由數字、 字母及特殊字符三種組合
        2. 密碼只能由字母開頭
        3. 密碼長度不能低於16位""")
        break

####按照要求是可以得出結果,還能優化嗎?比如我單純輸入符號的時候程序是以長度作為判定標準的,這個咋弄,好糾結~~~
2018-04-10_113437.png
2018-04-10_113417.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-4-10 14:21:32 | 显示全部楼层
代碼改了下:
password = input('請輸入需要檢查的密碼組合:')
character = "~!@#$%^&*()_=-/,.?<>;:[]{}\|"
while password.isspace () or len(password) <= 0:
    password = input("您輸入的密碼為空(或空格), 請重新輸入:")
while password != " ":
    if password in character and password. istitle() and password. isalnum() or len(password) > 16:
        print("您的密碼安全級別判定為 : 高")
        print("請繼續保持")
        break
    elif password. isalnum() or 0 < len(password) <= 8:
        print("""您的密碼安全級別判定為 : 低
請按以下方式提升您的密碼安全級別:
        1. 密碼必須由數字、 字母及特殊字符三種組合
        2. 密碼只能由字母開頭
        3. 密碼長度不能低於16位""")
        break
    else:
        print("""您的密碼安全級別判定為 : 中
請按以下方式提升您的密碼安全級別:
        1. 密碼必須由數字、 字母及特殊字符三種組合
        2. 密碼只能由字母開頭
        3. 密碼長度不能低於16位""")
        break
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-10 15:15:55 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-4-10 23:52:03 | 显示全部楼层

回帖奖励 +1 鱼币

学习一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-20 12:54:36 | 显示全部楼层

回帖奖励 +1 鱼币

学习下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-22 11:06:04 | 显示全部楼层
学习学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-22 13:50:15 | 显示全部楼层

回帖奖励 +1 鱼币

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-12-24 15:20:47 | 显示全部楼层
学习学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-24 16:32:26 | 显示全部楼层

回帖奖励 +1 鱼币

学习学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-22 14:57:03 | 显示全部楼层
只改了结构,判定方式需要你自己修改,可以参考答案:
1、只要不退出,可以重复使用
2、提高安全级别的那个代码,只写一遍就行了
  1. while True :
  2.     password = input('請輸入需要檢查的密碼組合(退出请输入:N):')
  3.     if password == 'N':
  4.         break
  5.     character = "~!@#$%^&*()_=-/,.?<>;:[]{}\|"
  6.     letter = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
  7.     if password.isspace () or len(password) <= 0:
  8.         password = input("您輸入的密碼為空(或空格), 請重新輸入:")
  9.     else:
  10.         if not password.isalnum() and password[0] in letter and len(password) > 16:  # 这个是不对的,需要更改
  11.             print("您的密碼安全級別判定為 : 高")
  12.             print("請繼續保持\n")
  13.         elif len(password) > 8 :# 此处也需要更改补充
  14.             print("""您的密碼安全級別判定為 : 低 \n""")
  15.         else:
  16.             print("""您的密碼安全級別判定為 : 低 \n""")
  17.         print('''請按以下方式提升您的密碼安全級別:
  18. 1. 密碼必須由數字、 字母及特殊字符三種組合
  19. 2. 密碼只能由字母開頭
  20. 3. 密碼長度不能低於16位\n''')
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-22 15:26:42 | 显示全部楼层
学习学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-23 10:13:34 | 显示全部楼层

回帖奖励 +1 鱼币

果然有够奇葩
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-27 04:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表