Во-первых, при оформелнии кода пишут [соde:python], а не [соdе=рython] .
Во-вторых, если Вы хотите оформить "вывод в консоль", можно просто написать [соdе]...[/соdе] без спецификации языка.
В-третьих вот такое решение предлагается:
1 #!/usr/local/bin/python
2 # -*- coding: koi8-r -*-
3
4 from string import ljust
5
6 def dec(i_str):
7 'функция позволяет нормально напечатать в виндовой консоли'
8 return unicode( i_str, 'koi8-r').encode('cp866')
9
10 # вводим строку целиком
11 sentence = raw_input(dec('введите предложение : '));
12 print sentence
13
14 # тестовые строки, чтоб не вводить всё время
15 sentence = dec('лом о смокинги гни комсомол')
16 #sentence = 'lom o smokingi gni komsomoll'
17
18 # разбиваем предложение по словам
19 words = sentence.split()
20
21 # длина максимального слова
22 maxLen = max( map(len, words) )
23
24 # дополняем короткие слова пробелами до требуемой длины
25 normalWords = map( lambda z : ljust(z, maxLen), words)
26
27 # делаем так, что бы были пробелы между столбцами.
28 #print range(maxLen, -1, -1)
29 for k in range(maxLen, -1, -1):
30 normalWords.insert(k, ' '*maxLen )
31 #normalWords.insert(k, ' '*maxLen ) # столько раз сколько нужно пробелов
32
33 # делаем единую строку
34 ess = ''.join(normalWords)
35 #print '"'+ess+'"' # проверка
36
37 print 4*'\n'
38 # печатаем с помощью slice
39 for k in range(0, maxLen):
40 print ess[k::maxLen] # (начиная с символа номер k, до конца строки, с шагом maxLen)
41
42
43 print 2*'\n'
44 raw_input('Press Ctrl+Shift+F11 to finish')
Общее замечание по Вашим функциям: Вы пока что не пользуетесь преимуществами питона и его встроенными очень полезными фукциями. Посмотрите на приведëнный код и многое станет понятно.
Удачи