字符串的方法及注释
-------------------分割线,哈哈哈--------------------
课后作业
0.还记得如何定义一个跨越多行的字符串吗(请至少写出两种实现的方法)?
方法一:
>>> str1 = '''a
b
c'''
>>> print(str1)
a
b
c
方法二:
>>> str2 = "a\nb\nc"
>>> print(str2)
a
b
c
1.三引号字符串通常我们用于做什么使用?
在赋值的情况下,一般做多行输入;
不赋值的情况下,通常当作跨行注释使用。
2. file1 = open(‘C:\windows\temp\readme.txt’, ‘r’) 表示以只读方式打开“C:\windows\temp\readme.txt”这个文本文件,但事实上这个语句会报错,知道为什么吗?你会如何修改?
因为字符串中的\t和\r表示TAB和回车。可以修改为:
file1 = open(r‘C:\windows\temp\readme.txt’, ‘r’)
r或者R是原始字符串操作符,不会转义\t和\r
3. 有字符串:str1 = '<a href ="http://www.fishc.com/dvd"target="_blank">'鱼C资源打包</a>’,请问如何提取出子字符串:'www.fishc.com'
>>> str1[17:30]
'www.fishc.com'
4.如果使用负数作为索引值进行分片操作,按照第三题的要求你能够正确目测出结果吗?
>>> str1[-34:-21]
'www.fishc.com'
5.还是第三题那个字符串,请问下边语句会显示什么内容?
>>>str1[20:-36]
得出一个空字符
如果按原作者给出的答案,打印出fish的话,那么应该是:
>>> str1[21:-26]
'fish'
6.据说只有智商高于150的鱼油才能解开这个字符串(还原为有意义的字符串):str1 = ‘i2sl54ovvvb4e3bferi32s56h;$c43.sfc67o0cm99’
>>> str1[::3]
'ilovefishc.com'
意思是从字符串0位开始到末尾,已步进值为3打印字符,也可写为>>> str1[0:42:3]
--------------分割线,哈哈哈------------------------
动动手:
0.请写一个密码安全性检查的脚本代码:check.py
低级密码要求:
# 1. 密码由单纯的数字或字母组成
# 2. 密码长度小于等于8位
# 中级密码要求:
# 1. 密码必须由数字、字母或特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)任意两种组合
# 2. 密码长度不能低于8位
# 高级密码要求:
# 1. 密码必须由数字、字母及特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)三种组合
# 2. 密码只能由字母开头
# 3. 密码长度不能低于16位
symbols = r'''~!@#$%^&*()_=-/,.?<>;:[]{}\|'''
chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
nums = '0123456789'
while 1:
password = input('请输入要检测的密码组合:')
length = len(password)
if (password.isspace() or length == 0):
password = input('请重新输入要检测的密码组合:')
length = len(password)
if length <= 8:
password_len = 1
elif (8 < length < 16):
password_len = 2
else:
password_len = 3
password_con = 0
for each in password:
if each in symbols:
password_con +=1
break
for each in password:
if each in chars:
password_con += 1
break
for each in password:
if each in nums:
password_con += 1
break
while 1:
print('您的密码安全级别为:',end='')
if password_len == 1 or password_con == 1:
print('低')
elif password_len == 2 or password_con == 2:
print('中')
else:
print('高')
print('请继续保持!')
break
print('''请按一下方式提升您的密码安全级别:
1.密码必须由数字、字母及特殊字符三种组合
2.密码只能由字母开头
3.密码长度不能低于16位''')
break