Python实现:根据用户输入匹配并输出指定奖项数据列表
奖项列表查询程序实现
功能需求
询问用户想要打印的奖项列表名称,用户输入的名称支持不区分大小写、可包含空格,只要与预设的奖项名称匹配,就输出对应奖项的列表内容:
- 例如输入
sag(或SAG、s a g等变体),输出1,2 - 输入
oscars(或Oscars、os cars等变体),列表内每个元素单独占一行输出
现有基础代码(不可修改)
以下代码负责从awards_data.py导入奖项数据,定义奖项名称与对应数据的映射关系,需保留且不可修改:
# ****************************************************************************************************** # 数据从同目录下的awards_data.py文件导入,两个文件必须放在同一目录下 # 请勿修改此部分代码 # 禁止手动硬编码任何其他数据 from awards_data import SAG, oscars, NBR, ISA, GLAAD, NAACP award_list_names = ['sag', 'oscars', 'nbr', 'isa', 'glaad', 'naacp'] award_list_options = [SAG, oscars, NBR, ISA, GLAAD, NAACP] # ******************************************************************************************************
awards_data.py中的数据内容
SAG = ["1", "2"] oscars = ["1", "3", "4", "5", "3", "1", "6", "7", "3", "8", "1", "32", "3", "2"] NBR = ["2", "9", "3", "10", "Close", "Sr.", "6"] ISA = ["1", "11", "12", "1", "13", "Tár", "1"] GLAAD = ["15", "16", "17", "18", "19"] NAACP = ["8", "20", "16", "21", "22"]
功能实现代码
# 获取用户输入并预处理:转小写、去除所有空格 user_input = input("请输入要查询的奖项名称:").lower().replace(" ", "") # 查找匹配的奖项索引 if user_input in award_list_names: index = award_list_names.index(user_input) target_list = award_list_options[index] # 按需求输出格式处理 if user_input == 'sag': print(",".join(target_list)) else: for item in target_list: print(item) else: print("输入的奖项名称不存在,请重新输入。")
代码说明
- 输入预处理:将用户输入转为小写并移除所有空格,确保不区分大小写、忽略空格的匹配逻辑生效
- 匹配判断:检查处理后的输入是否在预设奖项名称列表中
- 输出逻辑:匹配
sag时用逗号连接元素输出,其他奖项则逐个元素单独占一行输出 - 异常提示:输入不匹配时告知用户重新输入
内容的提问来源于stack exchange,提问作者anon
相关产品推荐
相关产品推荐

