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

如何实现根据用户输入执行对应Python团队/个人赛事函数?

问题解决与代码修正

原代码存在的问题

  • 缩进错误:teamEnter、individualEnter、intro等函数定义前有多余缩进,Python要求函数定义需处于正确层级(此处应顶格),否则会触发语法错误。
  • 函数定义顺序错误:intro()调用放在了tevent1、tevent2、ievent2等事件函数定义之前,程序执行时会因找不到未定义的函数抛出NameError。
  • 功能缺失:individualEnter()仅调用了ievent1(),未调用ievent2(),不符合输入"Individuals"时执行两个事件函数的需求。

修正后的代码

tnames = []
inames = []

def teamEnter():
    for x in range(4):
        tnames.append(input("Please enter a team name:"))
    print(tnames)
    tevent1()
    tevent2()
# 循环4次输入4个队伍名称

def individualEnter():
    for x in range(20):
        inames.append(input("Please enter an individual's name:"))
    print(inames)
    ievent1()
    ievent2()
# 循环20次输入20个个人名称

def tevent1():
    print("This is the relay race event")

def tevent2():
    print("This is the football event")

def ievent1():
    print("This is the tug of war event")

def ievent2():
    print("This is the dodgeball event")

def intro():
    inp = input("Would you like to hold a tournament for teams or individuals: ")
    # 询问用户选择团队赛还是个人赛
    print(' ')
    if inp == "Individuals":
        individualEnter()
    elif inp == "Teams":
        teamEnter()
# 初始选择页面,选择团队或个人模式

intro()

关键修改说明

  1. 移除所有函数定义前的多余缩进,确保语法合规。
  2. 调整函数定义顺序:先定义所有事件函数和输入处理函数,最后定义并调用intro(),保证调用时所有函数已完成定义。
  3. 在individualEnter()中添加ievent2()调用,满足输入"Individuals"时执行两个事件的需求。
  4. 修正输入提示的拼写:将"individuals name"改为"individual's name",语法更规范。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 20:15:43