已知字符串 a = “aAsmr3idd4bgs7Dlsf9eAP”,构造函数实现以下功能:
1. 将a字符串的大写改成小写,小写改成大写
def stringOperation1(s): newStr = s.swapcase() return newStr print(stringOperation1(a))
2. 将a字符串的数字取出,并输出成一个新的字符串
def stringOperation2(s): newStr = "" for ch in s: if ch.isdigit(): newStr += ch return newStr print(stringOperation2(a))
3. 统计a字符串出现的每个字母的出现次数(忽略大小写,a与A是同一个字母),并输出成一个字典。
例['a':4,'b':2]
def stringOperation3(s): s = s.lower() dict1 ={} for ch in s: if ch not in dict1: dict1[ch] = 1 else: dict1[ch] += 1 return dict1 print(stringOperation3(a))
4. 输出a字符串出现频率最高的字母
def stringOperation4(s): #使用上一个函数,得到字典 dict2 = stringOperation3(s) max = 0 for value in dict2.values(): if value > max: max = value #将value的最大值与字典中的value进行对比,如果相等,则获取对应的key for key,value in dict2.items(): if value == max: print(key) stringOperation4(a)
5. 判断‘boy’里出现的每一个字母,是否都出现在a字符串里,如果出现,则输出True,否则,则输出False
def stringOperation5(s): #利用set,添加字符,看是否原字符串长度有变化 set1 = set(s) search = "boy" set1.update(search) #更新列表长度 if(len(set(s)) == len(set1)): print(True) else: print(False) stringOperation5(a)
6. 输入一个字符串,压缩字符串如下aabbbcccd变成a2b3c4d1
def stringOperation6(s): dict2 = stringOperation3(s) newStr = "" for key,value in dict2.items(): newStr += key newStr += str(value) return newStr print(stringOperation6(a))