Answer
t.me/python_tesstОтвет:
Создание списка оценок студентов.
Отсутствие фамилии - конец ввода.
Фамилия: Попов
Оценка: 4,7
Фамилия: Андреев
Оценка: 3,8
Фамилия: Алексеев
Оценка: 2,5
Фамилия:
Список учащихся: ['Алексеев', 'Андреев', 'Иванов', 'Козлов', 'Петров', 'Попов']
Введите фамилию учащегося: Иванов
5
Введите фамилию учащегося: Орлов
Такого студента в списке нет. Выйти из программы? Напишите 'да' или 'нет'.нет
Введите фамилию учащегося: Сергеев
Такого студента в списке нет. Выйти из программы? Напишите 'да' или 'нет'.да
Объяснение:
Программа создаёт словарь с данными об оценками студентов и выдаёт информацию о необходимых студентах. Объяснение работы программы:
- Создание функции
create_dict(), в которой создаётся словарьd, в котором уже есть три значения. Также происходит ввод значений пользователем (по желанию). - Создание словаря
dict_userна основании словаряdиз функцииcreate_dict(). - Вывод отсортированного списка, состоящего из ключей словаря
dict_user. - Бесконечный цикл, в котором через конструкцию
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