You need to enable JavaScript to run this app. Python3中如何通过用户输入匹配Account number键查询对应字典
优惠活动
大模型
产品
解决方案
定价
更多

Python3中如何通过用户输入匹配Account number键查询对应字典

账号匹配查询实现方案

核心思路

你当前的代码将每个用户的信息存储为独立字典,没有统一的查询入口,我们可以先把所有账户归集到一个以「Account number」值为键的总数据库字典中,后续查询可以直接匹配,执行效率更高。

实现步骤

  1. 归集所有账户到统一数据库
  2. 获取用户输入的账号,自动清理首尾空格避免匹配失败
  3. 校验账号是否存在,存在则打印对应信息,不存在则给出提示

完整可运行代码

# Dictionary entry for John
key123 = {
    "Account number": "123",
    "First Name": "John",
    "Last Name": "Hutch",
    "Savings Amount": 1964,
    "Checkings Amount": 6437
}
# Dictionary entry for Suzie
key456 = {
    "Account number": "456",
    "First Name": "Suzie",
    "Last Name": "Gonzalez",
    "Savings Amount": 2001,
    "Checkings Amount": 1256
}
# Dictionary entry for Zeke
key789 = {
    "Account number": "789",
    "First Name": "Zeke",
    "Last Name": "Pena",
    "Savings Amount": 1200,
    "Checkings Amount": 2313
}
# 构建账号查询数据库,以账号为键,用户信息字典为值
account_db = {
    "123": key123,
    "456": key456,
    "789": key789
}
# 获取用户输入
input_account = input("请输入要查询的账号:").strip()
# 匹配查询
if input_account in account_db:
    print("\n查询到的账户信息:")
    for key, value in account_db[input_account].items():
        print(f"{key}: {value}")
else:
    print("\n未找到对应账号的信息,请检查输入是否正确")

其他可选实现(适合账号可能重复的场景)

如果存在重复账号的情况,可以把所有账户放到列表中遍历匹配:

account_list = [key123, key456, key789]
input_account = input("请输入要查询的账号:").strip()
matched_accounts = [acc for acc in account_list if acc["Account number"] == input_account]
if matched_accounts:
    print(f"\n共查询到{len(matched_accounts)}个符合条件的账户:")
    for idx, acc in enumerate(matched_accounts, 1):
        print(f"\n第{idx}个账户:")
        for k, v in acc.items():
            print(f"{k}: {v}")
else:
    print("\n未找到对应账号的信息")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.20 21:06:05