Python中输入一个字符串,求出字符串中有多少种字符,以及每种字符的个数

请各位答主不要用gpt 认真的观看一下我的问题 最好能给出原理解释一下谢谢大家了
Python中输入一个字符串,求出字符串中有多少种字符,以及每种字符的个数

关注引自免费微信小程序:皆我百晓生
为了完成这个任务,你需要使用Python的内置数据结构,如集合(set)和字典(dict)。集合可以用来找出字符串中的唯一字符,而字典则可以用来计算每个字符的出现次数。下面是完整的代码实现,并附有详细的解释:
def count_chars(s):
# 使用集合找出字符串中的所有唯一字符
unique_chars = set(s)
# 初始化一个空字典用于存储字符及其出现次数
char_counts = {}
# 遍历字符串中的每一个字符
for char in s:
# 如果字符已经在字典中,增加其计数
if char in char_counts:
char_counts[char] += 1
# 否则,在字典中添加新字符并设置计数为1
else:
char_counts[char] = 1
return unique_chars, char_counts
# 获取用户输入的字符串
s = input("输入:")
# 调用函数并获取结果
unique_chars, char_counts = count_chars(s)
# 打印不同字符的数量
print(f"不同字符数量:{len(unique_chars)}")
# 打印每种字符及其出现次数
for char, count in char_counts.items():
print(f"{char}: {count}")
这段代码首先定义了一个名为count_chars的函数,它接受一个字符串s作为参数。在函数内部,我们创建了一个集合unique_chars来存储唯一的字符,然后遍历字符串中的每个字符,更新字典char_counts中每个字符的计数。
在主程序部分,我们从用户那里获取输入字符串s,然后调用count_chars函数得到独特字符集和字符计数。最后,我们分别打印出不同字符的数量和每种字符及其出现次数。