python练习 2020/7/17

4. 有一个已经排好序的列表。现输入一个数,要求按原来的规律将它插入列表中
s=list(range(10))
print(s)
number=int(input('请输入一个数:'))
for i in range(len(s)):
    if s[i]==number:
        s.insert(i,number)
        break
print(s)

5. 统计名字列表中,各名字的首字母在名字列表中出现的次数
name_list = ["hhq","rob","hu","roni","zhangsan","lisi"]
result={}
cap_name_list=[]

for name in name_list:
    for i in name:
        cap_name_list.append(i[0])
        break

print(cap_name_list)

for i in cap_name_list:
    result[i]=cap_name_list.count(i)

print(result)


6. 字符替换
1)读入一个字符串
2)去掉字符串的前后空格
3)如果字符串包含数字则1替换成a,2替换成b,3替换成c,以此类推
4)将字符串使用空格进行切分,存到一个列表,然后使用*号连接,并输出
5)把这些功能封装到一个函数里面,把执行结果作为返回值

import string
def func(s):
    s=s.strip()
    for i in s:
        if i=='1':
            s=s.replace(i,'a')
        if i=='2':
            s=s.replace(i,'b')
        if i=='3':
            s=s.replace(i,'c')
    s=s.split()
    return '*'.join(s)

s=input('请输入一个字符:')
print(func(s))

7、找出字符串中出现次数最多的字符,并输出其出现的位置
#1
s = "adsfdsfasadsafasfddssf"
letter_dict={}
letter_index=[]

for i in s:
    letter_dict[i]=s.count(i)

letter=sorted(letter_dict)[-1]
print('出现次数最多的字符:',letter)


for i in range(len(s)):
    if s[i]==letter:
        letter_index.append(i)

print(letter_index)

#2
s = "adsfdsfasadsafasfddssf"

letter_dict={}
letter_index=[]

for i in s:
    letter_dict[i]=s.count(i)

print(letter_dict)

for k,v in letter_dict.items():
    if letter_dict[k]==max(letter_dict.values()):
        letter=k

print('出现次数最多的字符是:',letter)

for i in range(len(s)):
    if s[i]==letter:
        letter_index.append(i)

print('出现次数最多字符的位置是:',letter_index)

8、找出一段句子中最长的单词及其索引位置,以字典返回字符串的练习题

import string
s = "the pepople republic of china! hhhhhhhh"
result={}
max_length_word=[]
#把标点先过滤掉,替换成空白
for i in s:
    if i in string.punctuation:
        s=s.replace(i,'')

print(s)
#把s切成列表
new_s=s.split()
#找到最长单词的长度
length=len(sorted(new_s,key=len)[-1])

#遍new_s,找到最长的单词
for i in new_s:
    if len(i)==length:
        max_length_word.append(i)
print(max_length_word)

#找到单词的索引
for i in max_length_word:
    result[i]=s.index(i)

print(result)

你可能感兴趣的:(python练习 2020/7/17)