profile
Размещено 5 лет назад по предмету Информатика от aidarasanaliev

(Python)
Напишите программу для работы с рейтингами фильмов. Она может обрабатывать следующие команды:
add - добавить фильм с указанным названием. Если фильм с таким названием существует, выводите сообщение об ошибке. Рейтинги нового фильма - пустой словарь.
delete - удалить фильм с указанным названием. Если фильма с таким названием не существует, выводите сообщение об ошибке.
list - вывести список фильмов в виде таблицы (название, средний рейтинг). Если у фильма нет рейтингов, выводите вместо рейтинга сообщение, что фильм "не оценивался".
rate - добавить оценку к фильму по названию. Нужно ввести имя пользователя и количество баллов от 1 до 10 (оно может быть дробным).
Проверяйте, что оценка попадает в интервал от 0 до 10, предполагайте, что пользователь вводит только числа.
Если пользователь ввёл оценку 0, удалите оценку этого пользователя.
Если пользователь с указанным именем уже оценивал этот фильм, замените оценку на новую.
find - найти фильм по названию и показать его название и все оценки в виде таблицы (имя пользователя, оценка) + среднюю оценку. Если у фильма нет рейтингов, выводите сообщение, что фильм "не оценивался".
Напишите главный цикл приложения, который выводит меню и обрабатывает команды, используйте бесконечный цикл.
Обрабатывайте команду exit для выхода.
Выводите сообщение, если пользователь ввёл неправильную команду, и продолжайте работу.
Оформите пожалуйста вывод аккуратно (аналогично телефонной книге).
Выносите повторяющийся код и обработку каждой команды в функции.

  1. Ответ на вопрос
    Ответ на вопрос дан mrpansar

    dictionary = {}

    while True:

       command = input('Введите команду: ')

       if command != 'exit' and command != 'list' and command != 'add' and command !=  'delete' and command != 'rate' and command != 'find':

           print('Error')

           continue

       if command == 'exit':

           break

       if command == 'list':

           for key in dictionary.keys():

               average = 0

               if len(dictionary[key]) == 0:

                   print(f'Фильм {key} не оценивался')

               else:

                   for key1 in dictionary[key].keys():

                       average += dictionary[key][key1]

                   print(f'{key} средняя оценка: {average / len(dictionary[key])}')

           continue

       film = input('Введите название фильма: ')

       if command == 'add':

           if film in dictionary:

               print('Error')

           else:

               dictionary[film] = {}

       elif command == 'delete':

           if film in dictionary:

               del dictionary[film]

           else:

               print('Error')

       elif command == 'rate':

           name = input('Имя пользователя: ')

           rate = float(input('Оценка: '))

           if 0 < rate <= 10:

               dictionary[film][name] = rate

           else:

               print('Error')

       elif command == 'find':

           if len(dictionary[film]) == 0:

               print('Фильм не оценивался')

               continue

           for name, rate in dictionary[film].items():

               print(f'{name} поставил оценку: {rate}')

           average = 0

           for key in dictionary[film].keys():

               average += dictionary[film][key]

           print(f'Средняя оценка: {average / len(dictionary[film])}')

Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 6 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.