创建查找函数

Creating a lookup function

我想为学生创建一个 python 查找功能。我有一个制表符分隔的文件,其中包含 ID 和学生姓名。我想创建一个查找程序,如果找到匹配项,输入学生姓名或 ID 将 return 学生姓名和学生 ID。

至此我已经成功导入数据了。 data 的片段已分享。定义函数时遇到问题。我在下面分享我的代码:

infile = open("D:/work/student_id.txt",  "r")

def lookup():
word =raw_input("code to lookup: ")
print ("\n")
n = elements.index(word)
x = elements[n][0]
y = elements[n][0]
if word == x:
    print x, ":", y, "\n"
else:
    print("That code does not exist")
lookup()

我在网上搜索(Whosebug-found post 由 Erik 和 Alexander,我尝试像他们那样对我的代码建模,但仍然没有帮助;O'riley 在 Python 上的书籍)寻求有关创作的帮助查找功能,但它们都涉及写出数据。但是我没有找到关于为导入的制表符分隔文件创建查找函数的指导。我希望这也会对其他人有所帮助。有什么建议吗?

您使用的 Python 是什么版本? Python 3 使用 input(),而不是 raw_input()
由于您的文件是制表符分隔的,您可以使用 csv 函数。

import csv
students = {}
search = input()
found = None
with open('student_id.txt', newline='') as csvfile:
    reader = csv.reader(csvfile, delimiter='\t')
    for row in reader:
       students[row[0]] = row[1]
    print(students)
    for i in students.keys():
       if search == i:
           found = search + " " + students[i]
       else:
           if search == students[i]:
               found = i + " " + students[i]
    if found == None:
        print("Not found")
    else:
        print(found)