Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Почему выдает ошибку?

Райан Гослинг Ученик (56), на голосовании 1 месяц назад
 stroka=str(input("Введи строку (не менее 20 символов!)"))
if len(stroka)<20:
print("маленькая строка")
elif len(stroka)>=20:
print(stroka)
str.capitalize(stroka)
stroka.replace('а','о')
str.center(stroka)
print(stroka)
Голосование за лучший ответ
Кона-тян Мастер (1013) 2 месяца назад
на С++ учись, там сеньоры 600к в мес зарабатывают
Анатолий Зяблин Просветленный (31504) 2 месяца назад
 stroka = str(input("Введи строку (не менее 20 символов!): ")) 
if len(stroka) < 20:
print("маленькая строка")
else:
stroka = stroka.capitalize() # Применяем capitalize и сохраняем результат
stroka = stroka.replace('а', 'о') # Применяем replace и сохраняем результат
stroka = stroka.center(len(stroka) + 10) # Применяем center и сохраняем результат
print(stroka) # Выводим изменённую строку
Stalker Знаток (322) 2 месяца назад
Так вот попробуй:

 stroka = input("Введи строку (не менее 20 символов!)") 
if len(stroka) < 20:
print("маленькая строка")
else:
print(stroka)

stroka = stroka.capitalize()
stroka = stroka.replace('а', 'о')
stroka = stroka.center(30)

print(stroka)


--
Проблема заключается в том, что методы вроде str.capitalize(), str.replace() и str.center () возвращают новую строку, но не изменяют исходную строку на месте, так как строки в Python неизменяемы. Эти методы нужно присваивать обратно переменной, чтобы сохранить результат.
Похожие вопросы