Помогите улучшить код Python

Андрей

Новичок
Пользователь
Апр 14, 2020
8
0
1
Нужно сделать чтобы не только b менялась на a, но и все буквы a менялись на b. В строке, состоящее из латинских букв и промежутков, заменить все символы a на b и наоборот. Выведите обновленный строку. (это точное условие задачи).

S = input("Введіть слова:")
r = S.replace("b", "a")
print (''. join(r))
 

lightmanLP

Новичок
Пользователь
Май 23, 2020
18
1
3
А в чем вопрос?
 

Андрей

Новичок
Пользователь
Апр 14, 2020
8
0
1
В коде b меняется на а, нужно сделать так чтобы и все символы a в свою очередь менялись на b
 

lightmanLP

Новичок
Пользователь
Май 23, 2020
18
1
3
В коде b меняется на а, нужно сделать так чтобы и все символы a в свою очередь менялись на b
Ага. Нужно. А что не вышло то при попытке это сделать?
 

vs2007

Пользователь
Пользователь
Май 24, 2020
16
5
3
Python:
import re

s = input('Input something:')

def exchange(m: re.Match) -> str:
    '''
    Exchanging symbols 'a' <-> 'b'
    '''
    return 'a' if m.group(0) == 'b' else 'b'

print(f'Source  string: {s}')
print(f'Changed string: {re.sub(r"[ab]", exchange, s)}')
 
Последнее редактирование:

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
Вот простой пример:
Python:
s = input("Введите слова:")
s2 = ''
for i in s:
    if i == 'a':
        s2 += 'b'
    elif i == 'b':
        s2 += 'a'
    else:
        s2 += i

print(s2)
Вот короткий пример:
Python:
[print({'a': 'b', 'b': 'a'}.get(i, i), end='') for i in input("Введите слова:")]
 

Форум IT Специалистов