Задача

8 /13


Перебор всех символов

Теория Нажмите, чтобы прочитать/скрыть


Перебор всех символов

Поскольку к символу можно обращаться по индексу, для перебора всех символов можно использовать цикл по переменной, которая будет принимать возможные значения индексов. Например, программа, которая выводит на экран все коды символов строки s будет выглядеть так
for i in range(len(s)): 
    print(s[i], ord(s[i]))
Пояснения к программе:
1) Функция len(s) находит длину строки. Индекс первого символа равен 0, а индекс последнего len(s)-1. Переменная цикла i как раз и будет принимать последовательно значения от 0 до len(s)-1.
2) В каждой строке сначала будет выводиться сам символ, а затем его код, который возвращает встроенная функция ord().

Такой же перебор можно записать короче:
for c in s: 
    print(c, ord(c))
В данном фрагменте заголовок цикла перебирает все символы s, помещая их по очереди в переменную c.

Как уже говорилось, особенность Python при работе со строками заключается в том, что строки - это неизменяемые объекты. Другими словами, мы не можем изменять отдельные символы строки.

Например, не сработает следующий оператор
s[5]='a'
Но можно составлять из символов новую строку с требуемыми изменениями.
 
Задача
Во входной строке заменить все символы 'a' на символы 'b'. 
s = input()
sNew = ""
for c in s:
    if c == 'a': 
        c = 'b'
    sNew += c
print(sNew)

В данной программе цикл перебирает все символы строки s. В теле цикла проверяем значение переменной с: если символ совпадает с символом 'a', то заменяем его на 'b', и добавляем его в конец новой строки sNew с помощью оператора сложения.
Данный вариант работает достаточно медленно.

В будущем мы познакомимся со встроенными функциями работы со строками и узнаем как сделать это быстрее.
 

Задача

Напишите программу, которая в строке заменяет все точки на нули и все заглавные английские буквы "X" на единицы. 
 
Примеры
Входные данные Выходные данные
1 ..X..XX 0010011

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Python3631
Комментарий учителя