[课后作业] 第014讲:字符串:各种奇葩的内置方法 | 课后测试题

0. 还记得如何定义一个跨越多行的字符串吗(请至少写出两种实现的方法)?

答:① 使用三引号('''或""")可以实现;② 使用转义字符反斜杠字符(\)可以实现。

1. 三引号字符串通常我们用于做什么使用?

答:三引号字符串不赋值的情况下,通常当作跨行注释使用。

>>> '''怎么说呢,我今天超级开心
...    反正不管怎么说
... 我都开心哼'''

2. file1 = open('C:\windows\temp\readme.txt', 'r') 表示以只读方式打开“C:\windows\temp\readme.txt”这个文本文件,但事实上这个语句会报错,知道为什么吗?你会如何修改?

答: ① r' 表示按照原有字符串进行查找,故报错。

        ②修改方法:加上原始字符串操作符 r 即可。

file1 = open(r'C:\windows\temp\readme.txt', 'r')

3. 有字符串:str1 = '<a href="http://www.fishc.com/dvd" target="_blank">鱼C资源打包</a>',请问如何提取出子字符串:'www.fishc.com'

答:列表切片。

>>> str1 = '<a href="http://www.fishc.com/dvd" target="_blank">鱼C资源打包</a>'
>>> str2 = str1[16:29]
>>> print(str2)
www.fishc.com

4. 如果使用负数作为索引值进行分片操作,按照第三题的要求你能够正确目测出结果吗?

>>> str1 = '<a href="http://www.fishc.com/dvd" target="_blank">鱼C资源打包</a>'
>>> print(str1[16-61:29-61])
www.fishc.com

#注:
>>> str1 = '<a href="http://www.fishc.com/dvd" target="_blank">鱼C资源打包</a>'
>>> lengh = len(str1)
>>> lengh
61

5. 还是第三题那个字符串,请问下边语句会显示什么内容?

>>> str1 = '<a href="http://www.fishc.com/dvd" target="_blank">鱼C资源打包</a>'
>>> str1[20:-36]
'fishc'

6.据说只有智商高于150的鱼油才能解开这个字符串(还原为有意义的字符串):str1 = 'i2sl54ovvvb4e3bferi32s56h;$c43.sfc67o0cm99'

>>> str1 = 'i2sl54ovvvb4e3bferi32s56h;$c43.sfc67o0cm99'
>>> print(str1[::3])
ilovefishc.com

动动手

0. 请写一个密码安全性检查的代码代码:check.py

symbols = r'''`!@#$%^&*()_+-=/*{}[]\|'";:/?,.<>'''
chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
nums = '0123456789'

passwd = input('请输入需要检查的密码组合:')

length = len(passwd)

while (passwd.isspace() or length == 0):
    passwd = input("您输入的密码为空(或空格),请重新输入:")
    length = len(passwd)
if length <= 8:
    flag_len = 1
elif 8 < length < 16:
    flag_len = 2
else:
    flag_len = 3

flag_con = 0

for each in passwd:
    if each in symbols:
        flag_con += 1
        break

for each in passwd:
    if each in chars:
        flag_con += 1
        break

for each in passwd:
    if each in nums:
        flag_con += 1
        break

while 1:
    print("您的密码安全级别评定为:", end='')
    if flag_len == 1 or flag_con == 1:
        print("低")
    elif flag_len == 3 and flag_con == 3 and (passwd[0] in chars):
        print("高")
        print("请继续保持")
        break
    else:
        print("中")

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值