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(“Введите имя студента: “).capitalize().strip()
if student_name in students:
student_info = students[student_name]
print(f”Имя: {student_name}”)
print(f”Возраст: {student_info[‘age’]}”)
print(f”Предметы: {student_info[‘subjects’]}”)
print(f”Оценки: {student_info[‘grades’]}”)
else:
print(‘Студент с таким именем не найден.’)
что не так
python
students = [
{
'name': 'John',
'age': 20,
'subjects': ['Math', 'Physics', 'History', 'Chemistry', 'English'],
'grades': {'Math': 95, 'Physics': 88, 'History': 72, 'Chemistry': 84, 'English': 90}
},
{
'name': 'Alice',
'age': 22,
'subjects': ['Math', 'Biology', 'History', 'Physics', 'Geography'],
'grades': {'Math': 89, 'Biology': 75, 'History': 80, 'Physics': 91, 'Geography': 86}
}
]
student_name = input("Введите имя студента: ").capitalize().strip() # Запрос имени студента, убираем лишние пробелы и делаем первую букву заглавной
found = False # Переменная для отслеживания найденного студента
for student in students: # Проход по каждому студенту в списке students
if student['name'] == student_name: # Проверка совпадения имени
found = True # Устанавливаем флаг найденного студента
print(f"Имя: {student['name']}") # Выводим имя студента
print(f"Возраст: {student['age']}") # Выводим возраст студента
print(f"Предметы: {', '.join(student['subjects'])}") # Выводим список предметов как строку
print("Оценки:")
for subject, grade in student['grades'].items(): # Перебираем предметы и оценки
print(f"{subject}: {grade}") # Выводим оценки по каждому предмету
break # Прерываем цикл, так как студент уже найден
if not found: # Если студент не был найден
print('Студент с таким именем не найден.')
Исправления:
1. Добавлен второй студент в список `students`.
2. Исправлено условие поиска студента: теперь сравнивается значение `'name'`.
3. Добавлен флаг `found` для отслеживания нахождения студента.
4. Вывод списка предметов теперь осуществляется с помощью метода `join` для удобного отображения.
5. Добавлен цикл для вывода всех оценок по каждому предмету.
Теперь код должен корректно выявлять студента по введенному имени и выводить информацию о нем или сообщение о его отсутствии.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет