#python #function
Вопрос:
Мне удалось сделать это вне функции, но теперь мне нужна помощь, чтобы заставить ее работать внутри функции. На данный момент код смотрит только на одно слово («the») и выдает только это значение, затем он останавливается. Я не могу заставить его посмотреть на «the» и «testingg», а затем дать мне тот, который имеет наибольшее значение.
def high(x): import string alphabet = string.ascii_lowercase sentence = x.split() high_total = 0 for word in sentence: total = 0 for pos in word: if pos in alphabet: total = ord(pos) -96 if total gt; high_total: high_total = total return (max(total)) print(high("the testingg"))
Комментарии:
1. Потому что ты
return
в петле.return high_total
внеfor
петли. Чтоmax(total)
прикажете делать?2. сохраните слово с наивысшим баллом в переменной, перепишите его, если будет найден новый высокий балл. верните это слово в конце функции вне цикла.
3. @not_speshal привет, спасибо за быстрый ответ. Однако я не совсем понимаю, что вы имеете в виду, не могли бы вы показать мне пример, пожалуйста?
4. Привет @PatrickArtner я не совсем понимаю, что вы имеете в виду, не могли бы вы показать мне пример, пожалуйста?
5. @Uche24 — Переместите
return
инструкцию на 2 вкладки назад и измените ее наreturn(high_total)
Ответ №1:
Снимите отступ с вашего заявления о возврате на 2 вкладки и измените его на return(high_total)
:
def high(x): import string alphabet = string.ascii_lowercase sentence = x.split() high_total = 0 for word in sentence: total = 0 for pos in word: if pos in alphabet: total = ord(pos) -96 if total gt; high_total: high_total = total #returning here is returning within the for loop and the if block #returning here is still returning within the for loop #returning here is returning outside the for loop return high_total gt;gt;gt; high("the testingg") 101
Комментарии:
1. еще раз спасибо, извините, что все еще новичок в использовании этой платформы, но есть ли способ, которым я могу отправить вам сообщение напрямую с помощью моего кода. Когда я помещаю это в комментарий, он нечитаем
2. Нет, ты не можешь. Зачем тебе это нужно? Это решает ваш вопрос.