Таким образом, я пытаюсь выполнить поиск по рейтингу фильма, указанному пользователями, в моем списке, но каждый раз, когда я указываю рейтинг для поиска, моя функция ничего не возвращает.
Например: когда мне предлагается ввести рейтингнайти. Я наберу "PG", и он ничего не вернет. Хотя я знаю, что есть фильмы с рейтингом PG.
Я думаю, что проблема может быть либо в моей функции рейтинга, либо в том, как я создал свой многомерный список.
Ниже мой код. Любая помощь приветствуется. Спасибо!
def getInput():
try:
inFile = open("movies.txt", 'r')
except IOError:
print("File cannot be found. Check Spelling.")
else:
return inFile.readlines()
def menu():
L = getInput()
for i in range(0, len(L)):
L[i] = L[i].split('\n')
while(True):
print("\nWelcome to the movie finder!")
print("\t1. Print the Movies alphabetically by name.")
print("\t2. Print movies with a rating matching yours.")
print("\t3. Print the movies by run time.")
print("\t4. Find all movies with a run time less than your desired time.")
print("\t5. Find all movies with a run time greater than your desired time.")
print("Type -1 to quit.")
opt = input("Input a number to start desired search: ")
if (int(opt) == 1):
alpha(L)
elif (int(opt) == 2):
rating(L)
elif (int(opt) == 3):
runTime(L)
elif (int(opt) == 4):
lessThan(L)
elif (int(opt) == 5):
greaterThan(L)
elif (int(opt) == -1):
break;
else:
print("Invalid Input")
def alpha(L):
L.sort()
print("\n",L)
def rating(L):
userRate = str(input("Enter a rating to search for: "))
for i in range(0, len(L)):
for j in range(len(L[i])):
if userRate == L[i][2]:
print(L[i][0])
menu()
Вот как выглядит L (мой многомерный список)
[['"Detective Pikachu",104,PG', ''], ['"The Secret Life of Pets 2",86,PG', ''], ['"Deadpool 2",119,R', ''], ['"Godzilla: King of the Monsters",132,PG-13', ''], ['"A
vengers: Endgame",181,PG-13', ''], ['"The Lion King(1994)",88,G']]