Как вывести из строки символы с индексами, заданными по строгим параметрам?
Начал изучать Python, столкнуля с задачей:
На вход программе подается строка. Прочитайте ее и отобразите все ее символы с нечетными индексами (подряд в одну строчку).
Задача простая, решение тоже:
s1 = str(input())
print(s1[1::2])
Я задался вопросом, на который не смог найти ответ: Если символы в строке имеют числовые индексы, можно ли ввести переменную с определенными параметрами и вывести только такие символы строки, индексы которых будут соответствовать этим параметрам? К примеру, как в задаче, только нечетные натуральные числа
Попытался накидать что-то вроде такого
s1 = str(input())
x = int
for x > 0, x % 2 != 0
print(s1[x])
Возможно в будущем в процессе учебы узнаю ответ на этот вопрос, но если подскажете сейчас был бы очень благодарен
Ответы (1 шт):
Вы можете сделать красивое решение при помощи цикла for
и встроенной функции range
:
s = "simple_string"
for i in range(0, len(s), 2):
print(s[i])
Объясню: range возвращает итератор (простой список) с числами от 0 до 12 (12, т.к. длина строки 13). У range указан третий параметр, step
. Он равен двум, а это значит что в список будет попадать только каждое второе число. Так как наше исчисление идет от нуля, в список попадут только четные числа
Нагляднее будет, если вы запустите этот код, и поймете как он работает, основываясь на выводе в консоль