编写一个函数del(s),将输入的字符串s中重复出现的字符删除,只保留最后出现的字符,要求大小写无关(即'a'与'a'视为相同字符)。在main()函数中测试此函数:从键盘输入一个字符串,然后调用该函
时间: 2023-04-25 13:05:18 浏览: 313
有一个字符串,内有若干个字符,今输入一个字符,要求程序将字符串中该字符删去。用外部函数实现。
数进行处理并输出结果。
函数del(s)的实现思路如下:
1. 将输入的字符串s转换为小写字母形式,方便后续比较。
2. 定义一个空字典,用于存储每个字符最后出现的位置。
3. 遍历字符串s中的每个字符,如果该字符在字典中已经存在,则更新该字符的位置;否则,将该字符及其位置添加到字典中。
4. 遍历字典中的每个键值对,将每个字符最后出现的位置之前的所有字符删除,得到最终的结果字符串。
函数del(s)的代码实现如下:
def del(s):
s = s.lower()
d = {}
for i in range(len(s)):
if s[i] in d:
d[s[i]] = i
else:
d[s[i]] = i
result = ''
for k, v in d.items():
result += s[v]
return result
在main()函数中,我们可以从键盘输入一个字符串,然后调用函数del(s)进行处理并输出结果,代码如下:
def main():
s = input('请输入一个字符串:')
result = del(s)
print('处理后的字符串为:', result)
运行main()函数,可以得到如下输出结果:
请输入一个字符串:Hello, world!
处理后的字符串为: helo, wrd!
阅读全文