Answer

Answer

t.me/python_tesst

Ответ:

Создание списка оценок студентов.

Отсутствие фамилии - конец ввода.

Фамилия: Попов

Оценка: 4,7

Фамилия: Андреев

Оценка: 3,8

Фамилия: Алексеев

Оценка: 2,5

Фамилия: 

Список учащихся: ['Алексеев', 'Андреев', 'Иванов', 'Козлов', 'Петров', 'Попов']

Введите фамилию учащегося: Иванов

5

Введите фамилию учащегося: Орлов

Такого студента в списке нет. Выйти из программы? Напишите 'да' или 'нет'.нет

Введите фамилию учащегося: Сергеев

Такого студента в списке нет. Выйти из программы? Напишите 'да' или 'нет'.да

Объяснение:

Программа создаёт словарь с данными об оценками студентов и выдаёт информацию о необходимых студентах. Объяснение работы программы:

  1. Создание функции create_dict(), в которой создаётся словарь d, в котором уже есть три значения. Также происходит ввод значений пользователем (по желанию).
  2. Создание словаря dict_user на основании словаря d из функции create_dict().
  3. Вывод отсортированного списка, состоящего из ключей словаря dict_user.
  4. Бесконечный цикл, в котором через конструкцию try-except (необходима в случае ввода несуществующего ключа) выдаётся оценка введённого студента. В случае ввода несуществующего ключа программа спрашивает пользователя, желает ли он покинуть программу или нет. В случае отказа - цикл продолжается, в ином случае - выход из программы.

Код:

def create_dict():
  print("""Создание списка оценок студентов.
Отсутствие фамилии - конец ввода.""")
  d = {"Иванов" : "5", "Козлов" : "3", "Петров" : "1"}
  while(True):
    k = input("Фамилия: ")
    if k == "":
      return d
    e = input("Оценка: ")
    d[k] = e
   
dict_user = create_dict()
print(f"Список учащихся: {sorted(list(dict_user), key = str.lower)}")
while True:
  try:
    print(dict_user[input("Введите фамилию учащегося: ")])
  except:
    if input("Такого студента в списке нет. Выйти из программы? Напишите 'да' или 'нет'.") == 'нет':
      continue
    else:
      break


Report Page