编写函数get_rows (s, ncols)以字符串列表的形式返回网格中的行。
通过打印5 × 5网格中字母表前25个字母的行来测试这个函数,显示在页面的顶部以及编写一个函数transpose(s, ncols),返回一个字符串s2,表示转置后的网格,也就是说,行与列交换,反之亦然。编写一个使用transpose()和get的函数get_cols(s, ncols)。Rows()用于查找网格中的列。同样,使用上面的5x5网格进行测试。
参考下面代码:
def print_wordgrid(s,ncols=5):
rows=int(len(s)/ncols)
for k in range(rows):
print(" ".join(s[ncols*k:ncols*(k+1)]))
def get_rows(s,ncols):
rows=int(len(s)/ncols)
lst=[]
for k in range(rows):
lst.append("".join(s[ncols*k:ncols*(k+1)]))
print(lst)
def transpose(s,ncols):
for j in range(ncols):
c=[]
for i in range(j,len(s),ncols):
c.append("".join(s[i]))
print(' '.join(c))
def get_cols(s,ncols):
a=[]
for j in range(ncols):
c = []
for i in range(j, len(s), ncols):
c.append("".join(s[i]))
a.append(''.join(c))
print(a)
print_wordgrid('20*******',3)
print('part (b):rows.')
s='ABCDEFGHIJKLMNOPQRSTUVWXY'
get_rows(s,5)
transpose(s, 5)
print('part (c) :columns.')
get_cols(s, 5)