я в настоящее время возникли проблемы с кодом ниже, посмотрите на него:функция Python не будет возвращать значение из списка
def readData(fileName):
inputFile = open(fileName, 'r')
yearList = []
locList = []
line = inputFile.readline()
while line != "":
line = line.strip()
year, loc = line.split("\t")
yearList = yearList + [year]
locList = locList + [loc]
line = inputFile.readline()
inputFile.close()
return yearList, locList
def findLocation(yearList, locList, year):
location = "Not Found"
for i in range(len(locList)):
if locList[i] == year:
location = locList[i]
print(location)
def main():
fileName = input("Please enter the name of the file here:")
yearList, locList = readData(fileName)
print(yearList)
print(locList)
year = int(input("Enter the year you want the function to look for in the data:"))
location = findLocation(yearList, locList, year)
Каждый раз, когда я запускаю код, он выполняет все до findLocation функция, где он не возвращает значение, но вместо этого возвращает «Не найден». Я попытался изменить цикл и попробовать индексы и все такое, но я просто не могу понять, почему он продолжает возвращать «Not Found» вместо местоположения. Может кто-нибудь мне помочь?
Сравните тип переменной 'year' в readData с типом' year', который вы переходите к findLocation. Я верю, что вы будете просветлены. –
Как уже упоминалось, 'yearList' представляет собой список строк, но вы конвертируете год, который вы запрашиваете для' int'. Сохраните ввод строки. – tdelaney
Большое вам спасибо, большое спасибо –