如何修正Python代码以从文本文件输出符合条件的足球运动员信息?
实现从文本文件打印足球运动员详细信息的正确方法
原代码存在几处语法错误和逻辑偏差,无法满足打印球员详细信息的需求,以下是修正方案:
原代码问题点
- 变量名拼写错误:
mathces应为matches if语句末尾缺少冒号:(Python语法强制要求)- 仅提取并打印了场次数字,未输出球员姓名,不符合“详细信息”的要求
- 手动管理文件未做异常处理,推荐用
with语句自动维护文件资源
修正后的代码(筛选场次>50的球员)
with open('soccer_player.txt', 'r', encoding='utf-8') as f: for line in f: # 去除换行符并按逗号拆分姓名和场次 player_name, matches_str = line.strip().split(',') matches = int(matches_str) if matches > 50: print(f"球员:{player_name},出场场次:{matches}")
代码说明
with语句会自动处理文件关闭,避免手动调用f.close()可能出现的遗漏- 用
split(',')直接拆分字符串,比正则表达式更简洁高效,适合这种固定分隔符的文本 - 格式化输出球员姓名和场次,完整展示详细信息
- 修正了所有语法错误,逻辑完全匹配需求
打印所有球员详细信息(无需筛选)
如果不需要筛选场次,直接去掉if判断即可:
with open('soccer_player.txt', 'r', encoding='utf-8') as f: for line in f: player_name, matches_str = line.strip().split(',') matches = int(matches_str) print(f"球员:{player_name},出场场次:{matches}")
内容的提问来源于stack exchange,提问作者longwild laptop
相关产品推荐
相关产品推荐

