import csv
f =open('Scores.csv')
csv_f = csv.reader(f)
#next(readCSV)
users = []
quizzes = []
grades = []
for row in csv_f:
user = row[0]
quiz = row[2]
grade = row[5]
users.append(user)
quizzes.append(quiz)
grades.append(grade)
whatUser = input ("User: ")
if whatUser in users:
coldex = users.index(whatUser)
theQuiz = quizzes[coldex]
theGrade = grades[coldex]
print("Username: ", whatUser)
print("Quizzes: ", theQuiz)
print("Grades: ", theGrade)
我正在尝试让这个程序在行[0]中查找所有用户,然后在行[2]和[5]上打印相关信息。正如您在附加图像中看到的那样,它只能找到1个Bob而不是代码运行时的第二个。
答案 0 :(得分:1)
将最后一部分更改为:
for i in range(len(users)):
if users[i] == whatUser:
theQuiz = quizzes[i]
theGrade = grades[i]
print("Username: ", whatUser)
print("Quizzes: ", theQuiz)
print("Grades: ", theGrade)
index(x)
只会返回元素x
的第一个索引。因此,你必须循环并处理所有匹配。
答案 1 :(得分:1)
您可以遍历用户并打印每个匹配的用户:
for i, user in enumerate(users):
if user == whatUser:
print("Username: ", whatUser)
print("Quizzes: ", quizzes[i])
print("Grades: ", grades[i])