Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # ПРИМЕР ЗАМЕНЫ ЭЛЕМЕНТА СПИСКА ПО ИНДЕКСУ
- print("ПРИМЕР ЗАМЕНЫ ЭЛЕМЕНТА СПИСКА ПО ИНДЕКСУ\n")
- my_list = [4, 10.5, -0.25, 45]
- print(my_list)
- my_index = len(my_list) # У нас остается возможность использовать отрицательные индексы.
- while (my_index < 0) or (my_index >= len(my_list)):
- print("Элемент с каким индексом Вы хотите поменять?")
- my_index = input("Возможные варианты - от 0 до " + str(len(my_list) - 1) + ": ")
- try:
- my_index = int(my_index)
- if (my_index < 0) or (my_index >= len(my_list)):
- print("Указанный индекс выходит за пределы списка.")
- except ValueError:
- print("В качестве индекса можно указать только целое число.")
- my_index = len(my_list)
- # Можно использовать связку while True.
- # Главное - в правильном месте поставить break.
- while True:
- my_number = input("Введите число, на которое хотите заменить элемент списка: ")
- try:
- my_number = int(my_number)
- break
- except ValueError:
- try:
- my_number = float(my_number)
- break
- except ValueError:
- print("Вы можете заменить число только на число!")
- # Я использовал try внутри try, чтобы int оставался int, а не конвертировался во float.
- my_list[my_index] = my_number
- print("\nЗамена произведена.\n" + str(my_list))
- # ПРИМЕР ЗАМЕНЫ ЭЛЕМЕНТА СПИСКА ПО ЗНАЧЕНИЮ
- print("\nПРИМЕР ЗАМЕНЫ ЭЛЕМЕНТА СПИСКА ПО ЗНАЧЕНИЮ\n")
- my_list = ['Harry', 'Potter', 'любит', 'информатику']
- # Получаем слово, которое нужно заменить
- while True:
- print(my_list)
- my_choice = input("Какой элемент списка вы хотите заменить: ")
- if my_list.count(my_choice) > 0:
- break
- else:
- print("Такого элемента в списке нет.")
- # Мы получили свое слово, и оно точно есть в списке.
- # Осталось только узнать его индекс и заменить на новое значение.
- # Возникает вопрос - что если таких слов в списке больше 1?
- # Все зависит от задачи. То способ, который будет описан ниже, заменит первое слово.
- # Но вы можете сделать так, чтобы пользователь мог выбрать, какой заменить.
- # Тут может возникнут вопрос - можно ли ввести число как слово? На ваше усмотрение.
- # Но, ради примера, отсекем их.
- while True:
- my_word = input("Введи слово, на которое вы хотите заменить \"" + my_choice + "\": ")
- try:
- my_word = float(my_word)
- print("Слово можно заменить только на слово.")
- except ValueError:
- break
- # Производим замену по индексу.
- # Данный этап можно было объединить с предыдущим циклом.
- for i in range(len(my_list)):
- if my_list[i] == my_choice:
- my_list[i] = my_word
- break
- print("\nЗамена произведена\n" + str(my_list))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement