You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python for循环统计指定姓名出现次数并生成对应变量

姓名出现次数统计实现方案

核心思路

先读取两个文件的内容,初始化对应姓名的统计变量,再通过for循环遍历每个姓名,统计其在目标文本中的出现次数并赋值给变量。

具体实现(以Python为例)

1. 读取文件内容

先读取姓名列表文件和目标文本文件,处理掉多余的换行符和空格,确保姓名格式准确。

2. 初始化统计变量

为每个指定姓名创建整数变量,初始值设为0。

3. 遍历统计并赋值

通过for循环逐个处理每个姓名,统计其在目标文本中的出现次数,再把结果赋值给对应的变量。

代码示例

# 读取Names.txt中的姓名列表
with open('Names.txt', 'r', encoding='utf-8') as name_file:
    # 去除每行的换行符和首尾空格,过滤空行
    target_names = [name.strip() for name in name_file.readlines() if name.strip()]

# 读取Paragraph.txt的目标文本内容
with open('Paragraph.txt', 'r', encoding='utf-8') as para_file:
    content = para_file.read()

# 初始化每个姓名的统计变量
John = 0
Anna = 0
Ron = 0
David = 0

# 遍历姓名列表,统计每个姓名的出现次数
for name in target_names:
    occurrence = content.count(name)
    # 根据姓名匹配赋值
    if name == 'John':
        John = occurrence
    elif name == 'Anna':
        Anna = occurrence
    elif name == 'Ron':
        Ron = occurrence
    elif name == 'David':
        David = occurrence

# 查看统计结果
print(f"John出现次数: {John}")
print(f"Anna出现次数: {Anna}")
print(f"Ron出现次数: {Ron}")
print(f"David出现次数: {David}")

可选优化(动态创建变量)

如果Names.txt中的姓名列表可能变动,不需要手动初始化变量,可以用字典统计后动态生成变量:

# 读取文件部分同上

# 用字典初始化统计项
count_result = {name: 0 for name in target_names}

# 遍历统计
for name in count_result:
    count_result[name] = content.count(name)

# 动态创建全局变量
for name, count in count_result.items():
    globals()[name] = count

# 直接调用变量查看结果
print(John, Anna, Ron, David)

内容的提问来源于stack exchange,提问作者greensky

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 17:30:51