У меня есть задание, где я должен описать некоторый код Python, но он ничего не делает.На что мне смотреть? - PullRequest
0 голосов
/ 21 февраля 2019

У меня есть задание, в котором я должен описать, что делает этот бит кода, но когда я печатаю, он ничего не делает.Есть идеи?Здесь код.

def unknown(word):
  for i in range(1,len(word)+1):
    if i==len(word):
      return word
    if word[i]<word[i-1]:
      word=word[:i-1]+word[i]+word[i-1]+word[i+1]
      return unknown(word)
unknown('qwerty')

1 Ответ

0 голосов
/ 21 февраля 2019

Он что-то делает.Вы просто не видите, что он делает, потому что вы ничего не делаете с выводом unknown.Попробуйте заменить

unknown('qwerty')

на

print(unknown('qwerty'))

и посмотрите, что вы получите.

Редактировать: Похоже, в вашем вопросе есть опечатка:

word=word[:i-1]+word[i]+word[i-1]+word[i+1]

очень вероятно должно быть:

word=word[:i-1]+word[i]+word[i-1]+word[i+1:]

Это изменение должно привести к рекурсивной сортировке пузырьков.

...