Exercise_14
Exercise 14 : String
Test :
Multi-line string :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20>>> str1 = 'a\
b\
c2\
d'
>>> str1
'abc2d'
>>> str2 = '''a
vfdsfbf'c
sad'dadas
ca'''
>>> str2
"a\nvfdsfbf'c\nsad'dadas\nca"
>>> str3 =('add2'
'adsd2'
'8dajk'
'weew')
>>> str3
'add2adsd28dajkweew'分别利用’’’进行开始和换行,还有(‘A’ 换行 ‘B’换行 ‘c’),以及’A\ b\ D\ ‘
三引号字符串在不赋值的情况下用作跨行注释
单行注释利用 # 完成
file1 = open(‘C:\windows\temp\readme.txt’, ‘r’)表示以只读方式打开指定位置文件,但语句会报错 :
原因为在字符串中\为转义字符,\t和\r分别强制代表TAB和Enter,因此报错。
我们采用在语句前加r从而避免这一问题,如 :
file1 = open(r’C:\windows\temp\readme.txt’, ‘r’)
按要求对下字符串进行操作 :
1
>>> str1 = '<a href="xbchen1994.github.io" target="_blank">Aaron资源打包</a>'
[1]提取xbchen1994.github.io(正索引)
1
2>>> str1[9:29]
'xbchen1994.github.io'[2]提取xbchen1994.github.io(负索引)
1
2>>> str1[-51:-31]
'xbchen1994.github.io'[3]正负索引一起时
1
2
3
4>>> str1[9:-31]
'xbchen1994.github.io'
>>> str1[-51:29]
'xbchen1994.github.io'len(str1) = 60 因此正索引从左侧0开始数,负索引从右侧0开始数,从而得出的索引值即为最后结果。
str1[::3]从index=0开始,每隔3索引组成新字符串
str1[2::4]从index=2开始,每隔4索引组成新字符串
str1[::-1]反向索引,可以反转字符串
Try :
写一个密码安全性检查的脚本代码 : check.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71#密码安全性检查代码
#
# 低级密码要求:
# 1. 密码由单纯的数字或字母组成
# 2. 密码长度小于等于8位
#
# 中级密码要求:
# 1. 密码必须由数字、字母或特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)任意两种组合
# 2. 密码长度不能低于8位
#
# 高级密码要求:
# 1. 密码必须由数字、字母及特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)三种组合
# 2. 密码只能由字母开头
# 3. 密码长度不能低于16位
symbols = r'''\~!@#$%^&*()_=-/,.?<>;:[]{}|'''
chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
nums = '0123456789'
password = input('Pls enter the password you need to check:')
#判断长度
length = len(password)
while (password.isspace() or length == 0):
password = input('You have entered the space, pls enter again.')
if length <= 8:
flag_len = 1
elif 8 < length <16:
flag_len = 2
else:
flag_len = 3
flag_con = 0
# 判断是否包含特殊字符
for each in password:
if each in symbols:
flag_con += 1
break
# 判断是否包含字母
for each in password:
if each in chars:
flag_con += 1
break
# 判断是否包含数字
for each in password:
if each in nums:
flag_con += 1
break
# 打印结果
while 1 :
print("您的密码安全级别评定为:", end='')
if flag_len == 1 or flag_con == 1 :
print("低")
elif flag_len == 2 or flag_con == 2 :
print("中")
else :
print("高")
print("请继续保持")
break
print("请按以下方式提升您的密码安全级别:\n\
\t1. 密码必须由数字、字母及特殊字符三种组合\n\
\t2. 密码只能由字母开头\n\
\t3. 密码长度不能低于16位'")
break注意字符串前’r’的使用方法
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!