fork download
  1. # http://es.stackoverflow.com/q/21173/127
  2. import math
  3.  
  4. key = raw_input('Key: ') #Pedimos la clave
  5. text = raw_input('Text: ') #Pedimos una cadena de texto
  6. text_c = list(text) #Pasamos la cadena a una lista de caracteres
  7. while ' ' in text_c: #quitamos los espacios
  8. text_c.remove(' ')
  9. #caculo de las columnas y renglones
  10. columns = len(key)
  11. rows = int(math.ceil(float(len(text_c)) / float(len(key))) )
  12. #Definicion de una matriz
  13. matrix = []
  14. pos = 0
  15.  
  16. #Agregar los caracteres
  17. for i in range(rows):
  18. matrix.append([])
  19. for j in range(columns):
  20. #Agregar en la fila i una nueva columna con el siguiente caracter
  21. # o None si ya no quedan
  22. matrix[i].append(text_c[pos] if pos < len(text_c) else None)
  23. #Incrementar el contador de caracteres
  24. pos += 1
  25.  
  26. print "\nResultado:"
  27. print matrix
Success #stdin #stdout 0s 9032KB
stdin
HOLA
esto es un texto
stdout
Key: Text: 
Resultado:
[['e', 's', 't', 'o'], ['e', 's', 'u', 'n'], ['t', 'e', 'x', 't'], ['o', None, None, None]]