我希望用户能够搜索特定的术语,如果它在数据库中,则会给出一条消息,说明它在数据库中。
这是我到目前为止所做的代码,它运行没有错误,但是当我输入搜索词时,它总是说“我们很抱歉,但这似乎不在我们的系统中”,它总是说这个3次。我使用Pycharm作为我的IDE,但我不认为这会产生影响。
我是Python的新手,所以如果我错过了一些简单的话,请耐心等待我。)
import csv
uIn = input("Please enter a search term: ")
with open('database.csv', 'r') as uFile:
fileReader = csv.reader(uFile, delimiter=',')
for row in fileReader:
if uIn == row[1]: #True
print (uIn + "is in file")
else: #False
print("We are sorry, but that does not seem to be in our system")
----------------------------------------------- - - - - - -编辑 - - - - - - - - - - - - - - - - - - - --------------------------
谢谢你@Rahul Bhatnagar的回答;它告诉我,我需要在。中切换==。
这确实回答了问题的一部分,并且我已经找到了其他部分,else语句打印了每个没有uIn内部的行。所以说uIn在第三行,脚本会打印两次#False语句,#True语句打印一次。这很好,但是如果uIn在第50行或第100行,则会打印49或99个#false语句。
我现在说我的问题大约有50%是固定的,未修复的部分只是打印1 #true或1 #false语句(如果它在文件中)。
答案 0 :(得分:0)
import csv
def search(uIn):
found = false;
with open('database.csv', 'r') as uFile:
fileReader = csv.reader(uFile, delimiter=',')
for row in fileReader:
if uIn in row: #True
found = true;
if(found):
print ("Found the string in file!")
else:
print("We are sorry, but that does not seem to be in our system")
uIn = raw_input("ST: ")
search(uIn)
我的database.csv文件是:
search,terms,go,into,this,file,in,this,format
在所有情况下,你都试图在行的第1位找到uIn,这不是那种情况。