Python. задача поменять буквы а на б и б на а - Общение Python мододелов

Вопрос Python. задача поменять буквы а на б и б на а

Регистрация
2 Авг 2013
Сообщения
81
Репутация
0
Спасибо
0
Монет
0
875a8375f91de049494d6073098e8a2f_f6495b5b53bb82d6d9527aa7247928aa.jpg

Сказали убрать s1 и использовать только s. Как отредактировать задачу?
 
Регистрация
8 Июн 2013
Сообщения
82
Репутация
0
Спасибо
0
Монет
0
если по вашему вот
Совет используйте нормальные имена переменных
вместо s можно было text
вместо s1 - new_text или типа того
s = input();
s1 = "";
for c in s:
if c == 'а':
s1 += ('б')
elif c == 'б':
s1 += ('а')
print(s1);

Для вас решил написать замечания по коду, видно вы не понимаете, что пишите, это плохо.
с помощью цикла for c in s вы проходитесь по каждой букве текста s, которая сохраняется в с
так если текст s = "абба", то с будет равно изначально а, потом пройдет по циклу увидит условие if c == 'a': c = 'б', что она делает тут, она просто заменяет значение с (а) на б, нам это нужно? ну не сказал бы, по задаче логичнее было бы написать, что
if c == 'a': s1 += 'б', то есть получается "если с равно а, то тогда в переменную s1 записать б, и так же для б, но там записать нужно а
 
Регистрация
6 Июл 2013
Сообщения
84
Репутация
0
Спасибо
0
Монет
0
Здравствуйте.
Вот программа для Вас: # Ввожу строку в программу
s = input()
# В цикле меняю "а" на "б" и "б" на "а"
# в строке s
for i in range(len(s)):
if s == "а":
# В s записываю то, что до i-го
# символа, потом записываю "б",
# а потом записываю в s то, что
# после i-го символа
s = s[:i] + "б" + s[i+1:]
elif s == "б":
s = s[:i] + "а" + s[i+1:]

print(s)
 
Регистрация
15 Мар 2013
Сообщения
86
Репутация
0
Спасибо
0
Монет
0
print(input().translate(str.maketrans({'а': 'б', 'б': 'а'})))
 
Сверху Снизу