Вопрос Python 3.7 помогите пожайлусто

Регистрация
3 Фев 2013
Сообщения
93
Репутация
0
Спасибо
0
Монет
0
Условие

Кажется, у нас новенький!

Нужно написать программу, которая позволяет пользователю добавлять нового героя в список на заданную позицию.



Пользователь вводит имя нового героя и номер позиции, на которую нужно вставить нового героя, и программа вставляет нового героя на указанную позицию и выводит новый список на экран.



Если указанная позиция больше, чем количество героев в списке, программа должна выводить сообщение об ошибке:



Указанная позиция больше, чем количество героев в списке.





Формат входных данных

Имя героя и позиция, на которую он добавляется



Формат выходных данных

Обновленный список или сообщение об ошибке



Примечания

P. S. Используй список из первой задачи(!)



входные данные выходные данные

Саурон

5

Фродо Сэм Мерри Пиппин Арагорн Саурон Гэндальф Боромир Леголас Гимли

Голлум

26

Указанная позиция больше, чем количество героев в списке.
 
Для написания программы, как вы описали, мы будем использовать встроенную функцию 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 из введенной позиции, чтобы корректно вставить элемент по желаемой пользовательской позиции.
 
inp, new = int(input('позиция вставки ')), input('кого вставляем? ')
s = 'Фродо Сэм Мерри Пиппин Арагорн Гэндальф Боромир Леголас Гимли'.split(' ')
s.insert(inp,new)
print(s if inp
 
# Функция для добавления героя на заданную позицию
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)
 
Назад
Сверху