我有一个简单的问题,但我真的找不到一个正确的解决办法。在
我有一个csv文件,其中包含学生的姓名和注册的科目: 名称,主题1,主题2,主题3 学生1,MN1,MN2,MN3 学生2,BN1,BN2,BN3 学生3,MN4,MN5,MN6
学生需要输入自己的姓名和科目名称,以便检查他是否注册了该科目
我的代码:
import csv
Name = input("Please provide your name: ")
Subject = input("Please provide your Subject: ")
with open('students.csv') as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
if (row['name'] == Name and row['subject1'] == Subject or
row['subject2'] == Subject or row['subject3'] == Subject):
print ("You are registered. It won't take long to run your VM")
else:
print ("You are not registered")
我的问题是它给了我多个输出 输出: 请提供您的姓名:Student3 请提供您的主题:MN4 你没有注册 您没有注册 您已注册。运行你的虚拟机不会花很长时间
显然,它应该是: 您已注册。运行你的虚拟机不会花很长时间
你能帮我解决这个问题吗? 谢谢你
我相信字典最适合你:
注意,Python中的
for
循环有一个可选的else
子句,当循环结束时没有break
语句时,将执行该子句。。。在您的代码打印循环的每个迭代。你想要的是只在循环的末尾打印。。。在
一个数据帧将是一个很好的结构来存储你的csv文件。请给它一个读here,不管怎样到你的代码。请参考以下代码。在
请安装熊猫和纽比
代码:
^{pr2}$参考:
相关问题 更多 >
编程相关推荐