Ваша проблема в том, что вы вызываете spaced
с нечисловой строкой, а затем пытаетесь преобразовать это в целое число:
>>> int("Blusson Hall")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'Blusson Hall'
Если вы хотите диапазон, основанный на длине строки, вы можете использовать что-то вроде:
for i in range(len(s)):
как в:
>>> s = "Busson Hall"
>>> for i in range(len(s)):
... print i
...
0
1
2
3
4
5
6
7
8
9
10
И, в качестве дополнительной помощи, вы должны использовать s[i]
, чтобы получить i
'-ый (нуля, конечно, первый) символ s
. Кроме того, вы, вероятно, захотите начать с пустой строки, а затем добавить к ней отдельные символы (из исходной строки и любых пробелов, которые вы хотите добавить), чтобы постепенно создать ее перед возвратом.
Например, этот фрагмент дублирует каждый символ с двоеточием между ними:
>>> s = "paxdiablo"
>>> s2 = ""
>>> for i in range(len(s)):
... s2 = "%s%s:%s:" % (s2, s[i], s[i])
...
>>> print s2
p:p:a:a:x:x:d:d:i:i:a:a:b:b:l:l:o:o:
Если не написать код для вас (который, по вашему разумению, вы решили не просить), это, вероятно, вся помощь, которую я могу оказать (хотя не стесняйтесь задавать любые вопросы, которые вам нужны, и я предложу дальнейшие советы).