Advertisement
Guest User

Untitled

a guest
Oct 21st, 2019
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.77 KB | None | 0 0
  1. # ПРИМЕР ЗАМЕНЫ ЭЛЕМЕНТА СПИСКА ПО ИНДЕКСУ
  2. print("ПРИМЕР ЗАМЕНЫ ЭЛЕМЕНТА СПИСКА ПО ИНДЕКСУ\n")
  3. my_list = [4, 10.5, -0.25, 45]
  4. print(my_list)
  5. my_index = len(my_list)  # У нас остается возможность использовать отрицательные индексы.
  6. while (my_index < 0) or (my_index >= len(my_list)):
  7.     print("Элемент с каким индексом Вы хотите поменять?")
  8.     my_index = input("Возможные варианты - от 0 до " + str(len(my_list) - 1) + ": ")
  9.     try:
  10.         my_index = int(my_index)
  11.         if (my_index < 0) or (my_index >= len(my_list)):
  12.             print("Указанный индекс выходит за пределы списка.")
  13.     except ValueError:
  14.         print("В качестве индекса можно указать только целое число.")
  15.         my_index = len(my_list)
  16. # Можно использовать связку while True.
  17. # Главное - в правильном месте поставить break.
  18. while True:
  19.     my_number = input("Введите число, на которое хотите заменить элемент списка: ")
  20.     try:
  21.         my_number = int(my_number)
  22.         break
  23.     except ValueError:
  24.         try:
  25.             my_number = float(my_number)
  26.             break
  27.         except ValueError:
  28.             print("Вы можете заменить число только на число!")
  29. # Я использовал try внутри try, чтобы int оставался int, а не конвертировался во float.
  30. my_list[my_index] = my_number
  31. print("\nЗамена произведена.\n" + str(my_list))
  32.  
  33. # ПРИМЕР ЗАМЕНЫ ЭЛЕМЕНТА СПИСКА ПО ЗНАЧЕНИЮ
  34. print("\nПРИМЕР ЗАМЕНЫ ЭЛЕМЕНТА СПИСКА ПО ЗНАЧЕНИЮ\n")
  35. my_list = ['Harry', 'Potter', 'любит', 'информатику']
  36. # Получаем слово, которое нужно заменить
  37. while True:
  38.     print(my_list)
  39.     my_choice = input("Какой элемент списка вы хотите заменить: ")
  40.     if my_list.count(my_choice) > 0:
  41.         break
  42.     else:
  43.         print("Такого элемента в списке нет.")
  44. # Мы получили свое слово, и оно точно есть в списке.
  45. # Осталось только узнать его индекс и заменить на новое значение.
  46. # Возникает вопрос - что если таких слов в списке больше 1?
  47. # Все зависит от задачи. То способ, который будет описан ниже, заменит первое слово.
  48. # Но вы можете сделать так, чтобы пользователь мог выбрать, какой заменить.
  49. # Тут может возникнут вопрос - можно ли ввести число как слово? На ваше усмотрение.
  50. # Но, ради примера, отсекем их.
  51. while True:
  52.     my_word = input("Введи слово, на которое вы хотите заменить \"" + my_choice + "\": ")
  53.     try:
  54.         my_word = float(my_word)
  55.         print("Слово можно заменить только на слово.")
  56.     except ValueError:
  57.         break
  58. # Производим замену по индексу.
  59. # Данный этап можно было объединить с предыдущим циклом.
  60. for i in range(len(my_list)):
  61.     if my_list[i] == my_choice:
  62.         my_list[i] = my_word
  63.         break
  64. print("\nЗамена произведена\n" + str(my_list))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement