You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Python中文本文件索引实现:四位码关联姓名列表查询

实现四位代码匹配对应姓名的解决方案

没问题,我来帮你一步步搞定这个功能!下面用Python来做示例——它语法简洁,很适合这类小任务,而且容易理解和修改。

核心思路

我们需要把文本文件里的代码和姓名列表按顺序一一对应,当用户输入代码时,找到它在代码列表中的索引,再用这个索引去姓名列表里取对应的名字。

详细实现步骤

1. 准备你的文件和数据

假设你的代码文件名叫codes.txt,内容格式是空格分隔的四位数字:

4317 2352 2315

姓名列表要和代码的顺序严格对应,比如:["John", "Jen", "James", "Joe"](注意第一个代码对应第一个姓名,以此类推)

2. 完整代码示例

# 读取代码文件并处理成列表
with open('codes.txt', 'r') as file:
    # 读取文件内容,去掉首尾空白,再按空格分割成单个代码的列表
    code_list = file.read().strip().split()

# 定义姓名列表,顺序必须和code_list完全匹配
name_list = ["John", "Jen", "James", "Joe"]

# 验证用户输入(确保是四位数字)
while True:
    user_input = input("请输入四位数字代码:").strip()
    if len(user_input) == 4 and user_input.isdigit():
        break
    print("⚠️ 请输入有效的四位数字代码!")

# 查找匹配的姓名
try:
    # 获取输入代码在列表中的索引
    code_index = code_list.index(user_input)
    # 根据索引取出对应姓名
    matched_name = name_list[code_index]
    print(f"✅ 匹配到的姓名:{matched_name}")
except ValueError:
    # 处理代码不存在的情况
    print("❌ 输入的代码不存在,请检查后重试!")

3. 代码解释

  • 读取文件:用with open语句可以自动关闭文件,避免资源泄漏;strip()去掉文件内容首尾的换行/空格,split()把空格分隔的代码拆成列表。
  • 输入验证:用while循环确保用户输入的是四位数字,避免无效输入干扰后续逻辑。
  • 索引匹配:用list.index()方法找到代码的位置,再通过索引从姓名列表取值;如果代码不存在,index()会抛出ValueError,我们用try-except捕获并提示用户。

注意事项

  • 一定要保证code_listname_list的顺序完全对应,否则会出现匹配错误!
  • 如果你的代码文件里是每行一个代码(不是空格分隔),只需要把split()改成splitlines()即可。

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

火山引擎 最新活动