Во-первых, позвольте мне сказать, что я абсолютно согласен с комментариями, а другой ответ - не использовать встроенные функции - глупо. При этом я обнаружил, что попытка написать этот код с использованием всего лишь нескольких встроенных вызовов функций была интересной задачей, поэтому я в любом случае опубликую то, что придумала.
def my_txt(txt, n, i=0):
if n == 1:
r = ""
s = 0
for c in txt:
if s >= i:
if c == " ":
return r
r += c
s += 1
while txt[i] != " ":
i += 1
return my_txt(txt, n - 1, i + 1)
my_txt("hello to you all", 3) # returns 'you'
Мои собственные правила: никаких срезов, пониманий, генераторов или вызовов встроенных функций.
Этот код ужасно потерпит неудачу при попытке получить последнее слово (если нет пробела) или для любого n
из диапазона слов.