Задача 5. Кино

Илья зашёл на на один любительский кино-сайт, где пользователи пишут рецензии на фильмы. Вот, кстати, список этих фильмов.

films = ['Крепкий орешек', 'Назад в будущее', 'Таксист', 
         'Леон', 'Богемская рапсодия', 'Город грехов', 
         'Мементо', 'Отступники', 'Деревня']

Илья на сайте в первый раз, и он хочет зарегистрироваться и сразу добавить некоторые фильмы в список своих любимых, чтобы потом почитать рецензии на них. Напишите программу, в которой пользователь вводит фильм и если он есть в списке, то он добавляется в список любимых. Если его нет, то выводится ошибка. В конце выведите весь список любимых фильмов.

Пример:

Сколько фильмов хотите добавить? 3
Введите название фильма: Леон
Введите название фильма: Безумный Макс
Ошибка: фильма Безумный Макс у нас нет :(
Введите название фильма: Мементо
Ваш список любимых фильмов: Леон, Мементо

Решение:

# Без нового списка основной станет в нижнем регистре
def lower_list(lst):
    new_lst = []
    for i in range(len(lst)):
        new_lst.append(lst[i].lower())
    return new_lst

def search_movie(lst, mov):
    result = -1
    for i in range(len(lst)):
        if lst[i] == mov:
            result = i
            break
    return result

def main():
    films = ['Крепкий орешек', 'Назад в будущее', 'Таксист',
             'Леон', 'Богемская рапсодия', 'Город грехов',
             'Мементо', 'Отступники', 'Деревня']
    films_lc = lower_list(films)
    favorite_films = []
    number = int(input('Сколько фильмов хотите добавить? '))
    for i in range(number):
        movie = input('Введите название фильма: ')
        index_movie = search_movie(films_lc, movie.lower())
        if index_movie > -1:
            favorite_films.append(films[index_movie])
        else:
            print('Ошибка: фильма', movie, 'у нас нет :(')
    fav_mov = ''
    for c in range(len(favorite_films)):
        fav_mov += favorite_films[c]
        if c < len(favorite_films) - 1:
            fav_mov += ', '
    print('Ваш список любимых фильмов:', fav_mov)

if __name__ == '__main__':
    main()

3430login-checkЗадача 5. Кино

Добавить комментарий