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

Python循环打印次数过多,goals和assists字段重复输出怎么解决

问题原因

你的代码里goals、assists重复打印是多余的内层for v in lightning[k]循环导致的:lightning[k]是长度为2的列表,分别存储对应球员的进球数和助攻数,所以这个内层循环会执行2次,每次都打印一遍goals和assists的内容,最终就出现了重复显示两次的问题。
另外你用with open语法打开文件时,会在代码块执行结束后自动关闭文件,额外写的f.close()是多余的,可以直接删除。

修复后的完整代码

def main():
    lightning = dict()
    with open("lightning.txt","r") as f:
        for name,goals,assists in zip(f,f,f):
            lightning[name.strip()] = [int(goals),int(assists)]

    title_Player = 'Player'
    title_Goals = 'Goals'
    title_Assists = 'Assists'
    title_Total = 'Total'

    print('{:<10}{:^6}{:^8}{:^6}'.format(title_Player, title_Goals, title_Assists, title_Total))
    highest_points = 0

    for k in lightning:
        goals = lightning[k][0]
        assist = lightning[k][1]
        total = goals + assist
        print('{:<8}'.format(k), end = ' ')
        # 直接打印进球、助攻,删除原来的内层for循环即可
        print('{:^6}{:^8}'.format(goals, assist), end = ' ')
        print('{:^6}'.format(total))

        if total > highest_points:
            highest_points = total
            top_scorer = k
    print(top_scorer, 'is the top scorer with', highest_points, 'points')

if __name__ == '__main__':
    main()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 02:06:05