# http://es.stackoverflow.com/q/21173/127 import math key = raw_input('Key: ') #Pedimos la clave text = raw_input('Text: ') #Pedimos una cadena de texto text_c = list(text) #Pasamos la cadena a una lista de caracteres while ' ' in text_c: #quitamos los espacios text_c.remove(' ') #caculo de las columnas y renglones columns = len(key) rows = int(math.ceil(float(len(text_c)) / float(len(key))) ) #Definicion de una matriz matrix = [] pos = 0 #Agregar los caracteres for i in range(rows): matrix.append([]) for j in range(columns): #Agregar en la fila i una nueva columna con el siguiente caracter # o None si ya no quedan matrix[i].append(text_c[pos] if pos < len(text_c) else None) #Incrementar el contador de caracteres pos += 1 print "\nResultado:" print matrix
HOLA esto es un texto
Key: Text: Resultado: [['e', 's', 't', 'o'], ['e', 's', 'u', 'n'], ['t', 'e', 'x', 't'], ['o', None, None, None]]