编写程序,输入一个字符串为自己的名字+学号+班级,如“张三2 0220056952001经济2201班”,要求 1.输出其中每个字符的出现次数; 2.输出其中只出现一次的字符及其下标;
时间: 2024-10-06 17:02:59 浏览: 35
编写这样的程序,我们可以使用Python语言,因为它有内置的字典数据结构方便统计字符频率,并通过遍历找到仅出现一次的字符。以下是示例代码:
```python
def analyze_string(name_stu_class):
# 将字符串拆分成单个字符并统计频率
char_freq = {}
for i, char in enumerate(name_stu_class):
if char.isalnum(): # 只考虑字母和数字
if char in char_freq:
char_freq[char][0] += 1 # 出现次数
else:
char_freq[char] = [1, i] # 初始化新字符,计数1,记录下标
# 输出每个字符及其出现次数
for char, count_info in char_freq.items():
print(f"字符'{char}'出现了{count_info[0]}次,下标从{count_info[1]}开始")
# 找出只出现一次的字符及其下标
single_char = {k: v for k, v in char_freq.items() if v[0] == 1}
if single_char:
print("只出现一次的字符及下标:")
for char, (freq, index) in single_char.items():
print(f"'{char}': 下标 {index}")
else:
print("所有字符都出现了不止一次.")
# 示例输入
name_stu_class = "张三20220056952001经济2201班"
analyze_string(name_stu_class)
```
阅读全文