输入一串可以有重复的人名的字符串,然后输出出现最多的人名。 示例: 输入:双儿 洪七公 赵敏 逍遥子 鳌拜 殷天正 金轮法王 乔峰 杨过 洪七公 郭靖 杨逍 鳌拜 殷天正 段誉 杨逍 慕容复 阿紫 慕容复 郭芙 乔峰 令狐冲 郭芙 输出:洪七公 提示:可以先使用字典建立"姓名与出现次数"的关系,然后找出现次数最多数对应的姓名。
时间: 2024-02-03 10:01:41 浏览: 71
可以使用 Python 的字典来解决这个问题。代码如下:
```python
names = input("请输入人名,以空格分隔:").split()
name_count = {}
for name in names:
if name in name_count:
name_count[name] += 1
else:
name_count[name] = 1
max_name = max(name_count, key=name_count.get)
print("出现最多的人名是:", max_name)
```
首先,读入一行字符串,使用 `split()` 方法将其按照空格分隔成一个名字列表 `names`。然后,定义一个空字典 `name_count`,遍历 `names` 列表,如果名字已经在字典中出现过,则将对应的计数器加 1,否则将其加入字典并设置计数器为 1。
最后,使用 `max()` 函数和 `key` 参数找到字典中计数器最大的名字,并将其输出即可。
相关问题
输入一串可以有重复的人名的字符串,然后输出出现最多的人名。示例:输入:双儿 洪七公 赵敏 逍遥子 鳌拜 殷天正 金轮法王 乔峰 杨过 洪七公 郭靖? 杨逍 鳌拜 殷天正 段誉 杨逍 慕容复 阿紫 慕容复 郭芙 乔峰 令狐冲 郭芙输出:洪七公提示:可以先使用字典建立"姓名与出现次数"的关系,然后找出现次数最多数对应的姓名
好的,我可以帮你解决这个问题。
以下是 Python 代码实现:
```python
name_str = input("请输入人名字符串,以空格分隔:")
name_list = name_str.split()
count_dict = {}
for name in name_list:
if name in count_dict:
count_dict[name] += 1
else:
count_dict[name] = 1
max_name = ""
max_count = 0
for name, count in count_dict.items():
if count > max_count:
max_name = name
max_count = count
print("出现最多的人名是:", max_name)
```
代码思路如下:
1. 首先,让用户输入一串以空格分隔的人名字符串,并使用 `split()` 方法将其转换为列表。
2. 然后,使用字典建立每个人名出现次数的关系。
3. 接着,遍历字典,找到出现次数最多的人名以及对应的次数。
4. 最后,输出出现最多的人名。
希望这个答案能够帮助到你!
【字典】输入一串可以有重复的人名的字符串,然后输出出现最多的人名。 示例: 输入:双儿 洪七公 赵敏 逍遥子 鳌拜 殷天正 金轮法王 乔峰 杨过 洪七公 郭靖 杨逍 鳌拜 殷天正 段誉 杨逍 慕容复 阿紫 慕容复 郭芙 乔峰 令狐冲 郭芙 输出:洪七公 提示:可以先使用字典建立"姓名与出现次数"的关系,然后找出现次数最多数对应的姓名。
可以使用Python中的字典来实现,建立姓名与出现次数的映射关系,然后遍历字典找出出现次数最多的姓名。
代码实现如下:
```python
def find_most_frequent_name(names):
name_count = {}
for name in names:
if name not in name_count:
name_count[name] = 1
else:
name_count[name] += 1
max_count = 0
most_frequent_name = ''
for name, count in name_count.items():
if count > max_count:
max_count = count
most_frequent_name = name
return most_frequent_name
```
使用示例:
```python
names = ['双儿', '洪七公', '赵敏', '逍遥子', '鳌拜', '殷天正', '金轮法王', '乔峰', '杨过',
'洪七公', '郭靖', '杨逍', '鳌拜', '殷天正', '段誉', '杨逍', '慕容复', '阿紫',
'慕容复', '郭芙', '乔峰', '令狐冲', '郭芙']
most_frequent_name = find_most_frequent_name(names)
print(most_frequent_name) # 输出: 洪七公
```
阅读全文