Нужно написать программу, которая позволяет пользователю добавлять нового героя в список на заданную позицию.
Пользователь вводит имя нового героя и номер позиции, на которую нужно вставить нового героя, и программа вставляет нового героя на указанную позицию и выводит новый список на экран.
Если указанная позиция больше, чем количество героев в списке, программа должна выводить сообщение об ошибке:
Указанная позиция больше, чем количество героев в списке.
Для написания программы, как вы описали, мы будем использовать встроенную функцию insert() в Python, которая позволяет вставить элемент в определенную позицию в списке. Также обратим внимание на проверку, что введенная позиция не больше длины списка. # Мы будем использовать список из первой задачи как изначальный список наших героев
heroes = ['Фродо', 'Сэм', 'Мерри', 'Пиппин', 'Арагорн', 'Гэндальф', 'Боромир', 'Леголас', 'Гимли']
# Получаем имя героя и позицию от пользователя
new_hero = input("Введите имя нового героя: ")
position = int(input("Введите позицию для нового героя: "))
# Проверяем, не превышает ли введенная позиция длину списка
if position > len(heroes):
print("Указанная позиция больше, чем количество героев в списке.")
else:
# Если все ОК, добавляем героя в список на заданную позицию (учитывая, что индексация в Python начинается с 0)
heroes.insert(position - 1, new_hero)
print(" ".join(heroes)) # Выводим обновленный список героев
Учтите, что Python использует нулевую индексацию для списков, поэтому нужно вычесть 1 из введенной позиции, чтобы корректно вставить элемент по желаемой пользовательской позиции.
# Функция для добавления героя на заданную позицию
def add_hero(heroes, hero, position):
# Проверяем, что позиция не больше количества героев в списке
if position > len(heroes):
return "Указанная позиция больше, чем количество героев в списке."
else:
# Вставляем нового героя на заданную позицию
heroes.insert(position, hero)
# Возвращаем обновленный список героев
return heroes
Список героев из первой задачи
heroes = ["Фродо", "Сэм", "Мерри", "Пиппин", "Арагорн", "Гэндальф", "Боромир", "Леголас", "Гимли"]
Вводим нового героя и позицию
new_hero = input("Введите имя нового героя: ")
position = int(input("Введите позицию, на которую нужно вставить нового героя: "))
Вызываем функцию, передавая ей список героев, нового героя и позицию
updated_heroes = add_hero(heroes, new_hero, position)
Выводим обновленный список героев или сообщение об ошибке
print(updated_heroes)