def rails(text,n):
rail=[['\n'for i in range(len(text))]for j in range(n)]
lower=False
row=0
col=0
for i in range(len(text)):
if(row0) or (rown-i):
lower= not lower
rail[row][col]=text[i]
col+=1
if lower:
row+=1
else:
row-=1
result=[]
for i in range(n):
for j in range(len(text)):
if rail[i][j] != '\n':
result.append(rail[i][j])
return result

def railsdecry(cipher, n):
mat = [[None] * len(data) for _ in range(n)]
flag = 0
i, j, k, l = 0, 0, 0, 0
plain = ""
while l < n:
k = 0
i = 0
while k < len(data):
if i == 0:
flag = 0
if i == n - 1:
flag = 1
if i == l and j < len(data):
mat[i][k] = data[j]
j += 1
if flag == 0:
i += 1
else:
i -= 1
k += 1
l += 1

i = 0
j = 0
while j < len(data):
    if i == 0:
        flag = 0
    if i == n - 1:
        flag = 1
    plain += mat[i][j]
    if flag == 0:
        i += 1
    else:
        i -= 1
    j += 1
return plain

text="Namaste"
n=int(input("Enter number of fences"))
cipher=rails(text,n)

Edit
Pub: 19 Mar 2023 17:44 UTC
Views: 11