Как вывести из строки символы с индексами, заданными по строгим параметрам?

Начал изучать Python, столкнуля с задачей:

На вход программе подается строка. Прочитайте ее и отобразите все ее символы с нечетными индексами (подряд в одну строчку).

Задача простая, решение тоже:

s1 = str(input())
print(s1[1::2])

Я задался вопросом, на который не смог найти ответ: Если символы в строке имеют числовые индексы, можно ли ввести переменную с определенными параметрами и вывести только такие символы строки, индексы которых будут соответствовать этим параметрам? К примеру, как в задаче, только нечетные натуральные числа

Попытался накидать что-то вроде такого

s1 = str(input())
x = int
for x > 0, x % 2 != 0
print(s1[x])

Возможно в будущем в процессе учебы узнаю ответ на этот вопрос, но если подскажете сейчас был бы очень благодарен


Ответы (1 шт):

Автор решения: Justiks

Вы можете сделать красивое решение при помощи цикла for и встроенной функции range:

s = "simple_string"
for i in range(0, len(s), 2):
    print(s[i])

Объясню: range возвращает итератор (простой список) с числами от 0 до 12 (12, т.к. длина строки 13). У range указан третий параметр, step. Он равен двум, а это значит что в список будет попадать только каждое второе число. Так как наше исчисление идет от нуля, в список попадут только четные числа

Нагляднее будет, если вы запустите этот код, и поймете как он работает, основываясь на выводе в консоль

→ Ссылка