Я начинающий в python.I создал код, чтобы ввести введенную строку в palindrome (или сказать, что я хочу). Но главная проблема заключается в том, что я не знаю, как создать пустой массив типа char (т.е. string). Когда я компилирую свой код, я получаю синтаксическую ошибку: File "convert to pallindrome.py", line 14, in <module> s1[j]=s2[y-i]
. Я не знаю, является ли проблема пустого массива, который я создал. Пожалуйста, помогите мне в этом.Невозможно создать пустой массив в Python
s2=raw_input('Enter the s2: ') #read the string from user
x=len(s2)
y=x-1
s1=[20] #another array to hold the new string
j=0
if len(s2)%2==0: #if length of string is even
for i in range(0,y/2-1): #do until i<=half of string length
if s2[i]==s2[y-i]:
s1[j]=s2[i]
j=j+1 #if characters are equal then copy the character to array
elif s2[i]!=s2[y-i]:
s1[j]=s2[i]
j=j+1
s1[j]=s2[y-i]
j=j+1 #if characetrs are not equal then copy both the letters
elif len(s2)%2!=0: #if length of string is odd
for i in range(0,y/2-1):
if s2[i]==s2[y-i]:
s1[j]=s2[i]
j=j+1
elif s2[i]!=s2[y-i]:
s1[j]=s2[i]
j=j+1
s1[j]=s2[y-i]
j=j+1 #do same as above
z=2*len(s1) #get 2xlength of string
if z%2==0:
for i in range(0,z-1):
if i<=z/2:
s1[z-i]=s1[i] #copy first half to the second half of string to create the pallindrome.
if z%2!=0:
for i in range(0,z-1):
if i<=(z/2)-1:
s1[z-i]=s1[i]
print s1 #print pallindrome
Я сделал это с логикой программирования C, так как я пришел из C language.Logic, кажется, right.but синтаксис не работает.
Вы не создаете пустой массив строк в Python. Ознакомьтесь с [официальным учебником Python] (https://docs.python.org/3.4/tutorial/index.html), и вы сэкономите много набрав. – TigerhawkT3
Я не понимаю цели программы. Вы просто хотите превратить строку как «привет» в «helloolleh»? Или что-то другое? – TigerhawkT3
@ TigerhawkT3 yep Я намерен превратить строку 'hello' в' helloolleh'. – Midhun