鱼C论坛

 找回密码
 立即注册
查看: 1917|回复: 5

[已解决]python 第014讲:字符串:各种奇葩的内置方法

[复制链接]
发表于 2019-9-27 11:14:39 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 ............ 于 2019-9-27 11:18 编辑

各位大神:
   print("请按以下方式提升您的密码安全级别:\n\
    \t1. 密码必须由数字、字母及特殊字符三种组合\n\
    \t2. 密码只能由字母开头\n\
    \t3. 密码长度不能低于16位")

打印结果为这样:
请按以下方式提升您的密码安全级别:
            1. 密码必须由数字、字母及特殊字符三种组合
            2. 密码只能由字母开头
            3. 密码长度不能低于16位


我的结果是:
请按以下方式提升您的密码安全级别:
                         1. 密码必须由数字、字母及特殊字符三种组合
                         2. 密码只能由字母开头
                         3. 密码长度不能低于16位

这个对齐看不懂。\t不是8位吗

这个怎么理解,各位大神帮忙看看
最佳答案
2019-9-27 13:04:04
本帖最后由 yuweb 于 2019-9-27 13:19 编辑
............ 发表于 2019-9-27 12:49
fuhao=r'''~!@#$%^&*()_=-/,.?;:[]{}|\'''
char='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' ...


我看了一下,那是12个空格加一个\t,可能是因为你前面还有12个空格吧,我尝试了一下置顶写是只有一个\t
微信截图_20190927130409.png
建议你还是按照这种写法来格式化
  1. print("请按以下方式提升您的密码安全级别:\n"\
  2.             "\t1. 密码必须由数字、字母及特殊字符三种组合\n"\
  3.             "\t2. 密码只能由字母开头\n"\
  4.             "\t3. 密码长度不能低于16位")
复制代码


发图片
微信截图_20190927131812.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-9-27 11:53:13 | 显示全部楼层
本帖最后由 yuweb 于 2019-9-27 12:04 编辑
  1. print("请按以下方式提升您的密码安全级别:\n"\
  2.     "\t1. 密码必须由数字、字母及特殊字符三种组合\n"\
  3.     "\t2. 密码只能由字母开头\n"\
  4.     "\t3. 密码长度不能低于16位")
复制代码

楼主试试这串代码,结果是不同的
微信截图_20190927115746.png

用'''输出可以看出,在每一行末尾的\是输出四个空格的
  1. print('''请按以下方式提升您的密码安全级别:\n\
  2.     \t1. 密码必须由数字、字母及特殊字符三种组合\n\
  3.     \t2. 密码只能由字母开头\n\
  4.     \t3. 密码长度不能低于16''')
复制代码

微信截图_20190927120337.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-27 12:49:46 | 显示全部楼层
fuhao=r'''~!@#$%^&*()_=-/,.?;:[]{}|\<>'''
char='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
num='0123456789'
tabsize=4
passwd=input('请输入需要检查的密码组合:')
lenth=len(passwd)

while True:
    if lenth == 0 or passwd.isspace():
        print('输入密码为空(或空格)')
        passwd=input('请输入需要检查的密码组合:')
    else:
        break

count=0

for echo in passwd:
    if echo in fuhao:
        count+=1
        break

for echo in passwd:
    if echo in char:
        count+=1
        break

for echo in passwd:
    if echo in num:
        count+=1
        break

   
while 1:
    if lenth <= 8 or count == 1:
        print('您的密码安全级别评定为:低')

        print("请按以下方式提升您的密码安全级别:\n\
        \t1. 密码必须由数字、字母及特殊字符三种组合\n\
        \t2. 密码只能由字母开头\n\
        \t3. 密码长度不能低于16位")
        break
    elif lenth>= 16 and count == 3 and (passwd[0] in char):
        print('您的密码安全级别评定为:高')
        print('请保持')
        break
    else:
        print('您的密码安全级别评定为:中')

  
    print("请按以下方式提升您的密码安全级别:\n\
    \t1. 密码必须由数字、字母及特殊字符三种组合\n\
    \t2. 密码只能由字母开头\n\
    \t3. 密码长度不能低于16位")
    break

你好,我的代码在打印低密码的时候是16个空格

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

使用道具 举报

 楼主| 发表于 2019-9-27 13:01:50 | 显示全部楼层
@yuweb 怎么发图片啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-27 13:04:04 | 显示全部楼层    本楼为最佳答案   
本帖最后由 yuweb 于 2019-9-27 13:19 编辑
............ 发表于 2019-9-27 12:49
fuhao=r'''~!@#$%^&*()_=-/,.?;:[]{}|\'''
char='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' ...


我看了一下,那是12个空格加一个\t,可能是因为你前面还有12个空格吧,我尝试了一下置顶写是只有一个\t
微信截图_20190927130409.png
建议你还是按照这种写法来格式化
  1. print("请按以下方式提升您的密码安全级别:\n"\
  2.             "\t1. 密码必须由数字、字母及特殊字符三种组合\n"\
  3.             "\t2. 密码只能由字母开头\n"\
  4.             "\t3. 密码长度不能低于16位")
复制代码


发图片
微信截图_20190927131812.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-27 16:22:27 | 显示全部楼层
我的结果是这样的

====== RESTART: C:\Users\Administrator\Desktop\pythoncode\mimajibie.py ======
请输入需要检查的密码组合:4638239200
您的密码安全级别评定为:低
请按以下方式提升您的密码安全级别:
                          1. 密码必须由数字、字母及特殊字符三种组合
                          2. 密码只能由字母开头
                           3. 密码长度不能低于16位
>>>
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-18 19:10

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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