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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143


# 1,将下面的字符串str1的敏感字符*都去掉:
# 然后再将str1的空格都去掉;
# str1 = "H e l ** l o Wo r L d !"
str1 = "H e l ** l o Wo r L d !"
# 提示: replace('*', "")
str1 = str1.replace('*', "")
str1 = str1.replace(" ", "")
print(str1)


# 2,去掉字符串123@zh@qq.com中的@;
str2 = "123@zh@qq.com"
str2 = str2.replace('@', "")
print(str2)


# 3, 任意给定的一串字符,统计字符串里面的大写字母和小写字母的个数
# 如: str1 = "HelloWorLD123"
str3 = "HelloWorLD123"

count1 = 0
count2 = 0
for c in str3:
if c.isupper():
count1 += 1
elif c.islower():
count2 += 1

print(count1, count2)


# 4, 获取网址中指定参数的值: https://www.baidu.com/s?name=avery&age=20&sex=male
# 如:参数param="name" 则结果为avery,
# 如:参数param="age" 则结果为20
# 如:参数param="sex" 则结果为male,
# urlStr = "https://www.baidu.com/s?name=avery&age=20&sex=male"
# param = 'age'
# split()
# 1,按照?拆分=> ['https://www.baidu.com/s', 'name=avery&age=20&sex=male']
# 2, 将'name=avery&age=20&sex=male'按照&拆分 =>['name=avery', 'age=20', sex=male]
# 3, for 遍历 ['name=avery', 'age=20', sex=male]
# 将'name=avery'按照=拆分 => ['name', 'avery']

urlStr = "https://www.baidu.com/s?name=avery&age=20&sex=male"
param = 'sex'

# index = urlStr.find('?')
# s = urlStr[index+1 : ]

url_list = urlStr.split('?')
# print(url_list) # ['https://www.baidu.com/s', 'name=avery&age=20&sex=male']
param_str = url_list[-1]
# print(param_str) # 'name=avery&age=20&sex=male'

param_list = param_str.split('&')
# print(param_list) # ['name=avery', 'age=20', 'sex=male']

d = {}
for param1 in param_list:
# print(param1) # 'name=avery'
list1 = param1.split('=')
# print(list1) # ['name', 'avery']
name = list1[0] # 名字
value = list1[1] # 值

# if name == param:
# print(value)

d[name] = value

print(d) # {'name': 'avery', 'age': '20', 'sex': 'male'}
print(d[param]) # 'male'


# 网址的组成:
# https://www.baidu.com/s?name=avery&age=20&sex=male
# https:// : 协议
# www.baidu.com:域名(内部是ip地址)
# /s : 路径
# ? 分隔服务器地址和参数部分
# name=avery&age=20&sex=male: 参数部分,不同参数使用&符号隔开, 每个参数的格式: name=avery



# 5,将字符串按照单词进行逆序,空格作为划分单词的唯一条件
# 如传入:”Welome to Beijing”改为 “Beijing to Welcome”
s = 'Welome to Beijing'
l = s.split()
l.reverse()
# print(l) # ['Beijing', 'to', 'Welome']
s2 = " ".join(l)
print(s2)


# 6,查找子串出现的次数,返回字符串str中出现子串的次数, count()
# 如传入:”abcabcabc”, “abc”; 返回:3
# “ababacccababa”, “aba”, 返回:2, 如果返回4呢(选做)
s = "ababacccababa"
s2 = 'aba'
print(s.count(s2)) # 2

count3 = 0
for i in range(len(s)):
s3 = s[i:]
# print(s3)
if s3.startswith(s2):
count3 += 1

print(count3) # 4


# 7,将字符中单词用空格隔开
# 已知传入的字符串中只有字母,每个单词的首字母大写,
# 请将每个单词用空格隔开,只保留第一个单词的首字母大写
# 传入:”HelloMyWorld”
# 返回:”Hello my world”

s = 'HelloMyWorld'
s2 = s[0]
for i in range(1, len(s)):
c = s[i]
if c.isupper():
s2 += " "+c.lower()
else:
s2 += c

print(s2) # 'Hello my world'

s = 'HelloMyWorld'
for i in range(len(s)):
c = s[i]
if i == 0:
pass
else:
if c.isupper():
s = s.replace(c, " "+c.lower())

print(s) # Hello my world