已知字符串 a = “aAsomr3idd4HGHbigs7Dlsf9YeAF”,要求如下
1. 请将a字符串的大写改为小写,小写改为大写。
2.将a字符串的数字取出,并输出成一个新的字符串。
3.将a字符串中的内容反向输出
4.打印a字符串中所有奇数位上的字符(下标是1,3,5,7…位上的字符)
5.将a字符串的所有偶数位上的字符取出,判断是否为回文字符串。
6.输出a字符串出现频率最高的字母
7.去除a字符串多次出现的字母,仅留最先出现的一个。
8.去除a字符串内的数字后,请将该字符串里的单词重新排序(a-z),并且重新输出一个排序后的字符串。
9.输出a字符串出现频率最低的字母
a = "aAsomr3idd4HGHbigs7Dlsf9YeAF"
print(a)
# 1.string.swapcase() 翻转 string 中的大小写
print(a.swapcase())
# 2.string.isdecimal() 如果 string 只包含数字则返回 True,全角数字 使用ord
for i in range(len(a)):if a[i].isdecimal():print(a[i], end="")
print()
# 3.x == x[::-1] 反向输出
b = a[::-1]
print(b)
# 4.打印a字符串中所有奇数位上的字符 循环 步长为2
for i in range(0,len(a),2):print(a[i],end="")
print()
# 5.将a字符串的所有偶数位上的字符取出,判断是否为回文字符串 同上
hui = ""
for i in range(1,len(a),2):print(a[i],end="")hui += a[i]
if hui == hui[::-1]:print("是回文字符串")
else:print("不是回文字符串")
# 6.输出a字符串出现频率最高的字母 先都转化为小写lower() count()检查次数
xiao = a.lower()
max_count = 0
word = []
for i in xiao:count = xiao.count(i)if count > max_count:max_count = countword = [i]elif count == max_count:word.append(i)
print(f"出现次数最多的字母是{''.join(word)},出现次数是{max_count}")
# 7.去除a字符串多次出现的字母,仅留最先出现的一个。
seen_letters = set()
new_str = []
for i in xiao:if i not in seen_letters:seen_letters.add(i)new_str.append(i)
result = ''.join(new_str)
print(result)
# 8.去除a字符串内的数字后,请将该字符串里的单词重新排序(a-z),并且重新输出一个排序后的字符串。
chars = list(xiao)
not_num_str = [char for char in chars if not char.isdigit()]
new_str8 = ''.join(not_num_str)
abcstr = ''.join(sorted(new_str8))
print(abcstr)
# 9.输出a字符串出现频率最低的字母
xiao = a.lower()
min_count = 0
word = []
for i in xiao:count = xiao.count(i)if count < max_count:max_count = countword = [i]elif count == max_count:word.append(i)
print(f"出现次数最少的字母是{''.join(word)},出现次数是{max_count}")
输出的结果是