2015-06-03 2 views
0

Код:Python - Как выполнять струнные операции?

str="Hello World"   
for i in range(len(str)):     
    str[i]=str[len(str)-i]  
print(str) 

Это соответствует ошибке в Python. Что было бы правильным способом реализовать это?

+0

Каков ваш ожидаемый результат? чего вы хотите достичь? Какая ошибка? ** В чем вопрос? ** – ZdaR

+0

Возможный дубликат [Обратно строка в Python] (http://stackoverflow.com/questions/931092/reverse-a-string-in-python) – sobolevn

+0

Это, случайно, , домашнее задание? – rbanffy

ответ

3
  1. В Python строки неизменяемы. Вы не можете переназначить отдельные символы.
  2. str не является хорошим именем переменной, поскольку он маскирует встроенную функцию str().
  3. Похоже, что вы хотите, чтобы изменить строку:

string = "Hello World" 
reversed_string = string[::-1] 
+0

Спасибо, но я действительно хотел зеркальное изображение строки по ее центру. Вы можете помочь? – Sourav

+1

Зеркалирование обоих концов по центру эквивалентно его реверсированию. Если вы хотите что-то еще, пожалуйста, уточните ожидаемый ввод и вывод. – TigerhawkT3

1

попытаться следующее:

string = "Hello World" 
print string[::-1] 
print ''.join(reversed(string)) 
0

На самом деле, я думаю, что главная проблема вас в том, что вы не Не понимаю, что строка в python является неизменной, но вы можете прочитать str [i], но это не означает, что вы можете изменить str [i], никогда не делайте этого: one_string = "..." one_string[i] = ".." запомнить one_string[i] только для чтения. Вы можете просто использовать некоторые стандартные функции lib для замены части строки, но некоторые вещи, такие как one_string[i] = "...", являются абсолютно неправильными.

Смежные вопросы