Найдите слово с наивысшим баллом в Python

#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. Нет, ты не можешь. Зачем тебе это нужно? Это решает ваш вопрос.