- 学习测试开发的Day87,真棒!
- 学习时间为1H20M
- 第五章习题 5-8
5、统计名字列表中,各名字的首字母在名字列表中出现的次数
代码:
names=['Lucy','Lily','Peter','Tom','Lulu','Petta']
s=""
first_letter=[]
for name in range(len(names)):
first_letter.append(names[name][0].lower())
s+="".join(names[name].lower())
for i in first_letter:
print(i.upper(),s.count(i))
输出:
PS D:\0grory\chapter5> python .\5names.py
L 5
L 5
P 2
T 4
L 5
P 2
PS D:\0grory\chapter5>
6、字符替换
1)读入一个字符串
2)去掉字符串的前后空格
3)如果字符串包含数字则1替换成a,2替换成b,3替换成c,以此类推
4)将字符串使用空格进行切分,存到一个列表,然后使用*号连接,并输出
5)把这些功能封装到一个函数里面,把执行结果作为返回值
代码:
def str_to_list(s):
if not isinstance(s,str):
return null
else:
s2=s.strip()
s2=s2.replace('1','a')
s2=s2.replace('2','b')
s2=s2.replace('3','c')
s2=s2.replace('4','d')
s2=s2.replace('5','e')
s2=s2.replace('6','f')
s2=s2.replace('7','g')
s2=s2.replace('8','h')
s2=s2.replace('9','i')
s3=s2.split(" ")
return s3
s=input("请输入一个字符串:")
print(str_to_list(s))
输出:
PS D:\0grory\chapter5> python .\6replace.py
请输入一个字符串: werw wee 123 342 567 890 123
['werw', 'wee', 'abc', 'cdb', 'efg', 'hi0', 'abc']
PS D:\0grory\chapter5>
7、找出字符串中出现次数最多的字符,并输出其出现的位置
代码:
s="Hello , my name is Lala , and you ?"
s2=list(s)
dict_s={}
list2=[]
for i in s2:
if i.isalpha():
#print(i,s2.count(i))
dict_s[i]=s2.count(i)
list2.append(s2.count(i))
#print(dict_s)
for k,v in dict_s.items():
if v==max(list2):
print(k)
print(s.find(k))
输出:
PS D:\0grory\chapter5> python .\7times.py
a
12
8、找出一段句子中最长的单词及其索引位置,以字典返回
代码:
s="my name is Lila , and you ?"
s2=list(s.split(" "))
long_list=[]
result={}
for i in s2:
long_list.append(len(i))
for i in s2:
if len(i)==max(long_list):
result[i]=s.find(i)
print(result)
输出:
PS D:\0grory\chapter5> python .\8long.py
{'name': 3, 'Lila': 11}
PS D:\0grory\chapter5>