【每日一题】2021.10.25
任意输入一串纯字母字符串(区分大小写),要求输出各字母及数量相接的另一个字符串,例如:
输入:s = "aaabbCdddddeeAAAbb"
输出:m = "a3b2C1d5e2fA3b2"
编程语言:包括但不限于Python
import itertools as mi
s = "aaabbCdddddeeAAAbb"
g = mi.groupby(s)
print(''.join([i + str(len(list(j))) for i,j in g]))
data = input("输入:")
newStr = ""
count = 0
s = ""
for index ,elem in enumerate(data):
if index == 0:
s = elem # 第一个元素
newStr += s # 然后加上去第一个元素
count = 1 # 个数是1
continue
# 和上一个元素对比,如果相等
if elem == data[index - 1]:
count += 1 # 个数加1
# 如果是最后一个元素,就直接加入到newStr上面
if index == len(data) - 1:
newStr += str(count)
break
else:
# 如果不相等
newStr += str(count)
s = elem
newStr += s
count = 1
print("输出: {}".format(newStr))
如果觉得有用,请点击采纳,谢谢~
# s = "aaabbCdddddeeAAAbb"
s=input('s=')
m = ''
# 统计字母大小写
tempdic = {}
import re
slist = re.findall('[A-Za-z]', s)
for i in slist:
if tempdic.get(i):
tempdic[i] += 1
else:
tempdic[i] = 1
for k, v in tempdic.items():
m += k + str(v)
print("m=",m)
题目的输出示例多了一个字母 f ,笔误