students = [
{ ‘name’: ‘John’,
‘age’: 20,
‘subjects’: [‘Math’, ‘Physics’, ‘History’, ‘Chemistry’, ‘English’],
‘grades’: {‘Math’: 95, ‘Physics’: 88, ‘History’: 72, ‘Chemistry’: 84, ‘English’: 90}
}
Напишите программу, которая запрашивает имя студента и выводит информацию о нем, если такой студент есть в словаре students. В противном случае, выведите сообщение “Студент с таким именем не найден”. Программа не должна зависеть от регистра введенного имени (могут ввести John, JOHN, john).
Пример:
Введите имя студента: John
Вывод:
Имя: John
Возраст: 20
Предметы: [‘Math’, ‘Physics’, ‘History’]
Оценки: {‘Math’: 95, ‘Physics’: 88, ‘History’: 72}
python
# Заданный словарь students
students = [
{
'name': 'John',
'age': 20,
'subjects': ['Math', 'Physics', 'History', 'Chemistry', 'English'],
'grades': {'Math': 95, 'Physics': 88, 'History': 72, 'Chemistry': 84, 'English': 90}
}
]
# Запрос имени студента
student_name = input("Введите имя студента: ").strip().lower()
# Поиск студента с заданным именем
found_student = None
for student in students:
if student['name'].lower() == student_name:
found_student = student
break
# Вывод информации о студенте или сообщения об отсутствии
if found_student:
print('Имя:', found_student['name'])
print('Возраст:', found_student['age'])
print('Предметы:', found_student['subjects'])
print('Оценки:', {subject: found_student['grades'][subject] for subject in found_student['subjects']})
else:
print('Студент с таким именем не найден.')
Пояснение к программе:
1. Сначала у нас указан словарь `students` с информацией о студентах.
2. Мы запрашиваем у пользователя имя студента, используя функцию `input()`, и приводим его к нижнему регистру с помощью `strip().lower()`.
3. Затем мы итерируем через список `students` и проверяем, совпадает ли имя студента с введенным именем (независимо от регистра). Если такой студент найден, мы сохраняем его данные в переменной `found_student`.
4. В зависимости от наличия студента, мы либо выводим информацию о нем (имя, возраст, предметы, оценки), либо сообщаем, что студент с таким именем не найден.
Этот код позволит пользователю получить информацию о студенте по его имени, и он будет работать независимо от регистра введенного имени.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет