Loops task Distant Words

Здравейте , продължавам да решавам задачи .По препоръка на екипа -info@telerikacademy.com Пиша относно задачата Distant Words

Ето условието :

Angel and Bibkata have very weird taste - their last idea of fun is calculating the “distance” that a word is from a given number. The distance is calculated by summing the position in the alphabet of each letter in the word and than finding the absolute difference between that word and another predefined number. You are a programmer so you must ruin their fun by automating the process.

Examples:

  • word ‘bob’, number = 22, distance = 3 (‘b’ + ‘o’ + ‘b’ = 2 + 15 + 2 = 19)
  • word ‘bob’, number = 10, distance = 9

Write a program that calculates the distance for each string and also outputs the average distance.

Аз стигнах до следното решение : BibkaAndAngel - Pastebin.com , което работи само за първи инпут

28
3

coffee

tea

pineapple
Как да оптимизирам решението ,така че да работи и за останалите случаи ,когато входните данни подавам с for цикъл 
примерно  for i in range(n):
             word = input()

BibkoAndAngel

и думите ,които въвеждам са повече от 3?

Здравей,

Съветвам те такива въпроси да задаваш директно като публична тема във форума, където участват много хора им може да получиш по-бързо отговор. В този ред на мисли прехвърлям въпроса ти като публична тема.

Поздрави
Петър

import math

result = 0

distance = 0

average = 0

target = int(input())

N = int(input())

for j in range(N):

  word = input()

  for i in word:

    result += ord(i) - 96

    distance = target - result

  print(f'{word} {abs(distance)}')

  average += abs(distance)

  result = 0

print(f'{(abs(average / N)):.2f}')

Вложен цикъл е моето решение,първия for-цикъл събира думите,втория изчислява дестинацията спрямо сумата от числените стойности на буквите в думата.
Абсолютна стойност се изисква,защото сумата на някои думи е по-малка от таргета.

Предлагам да си прегледаш кода с дебъгера за да проследиш логиката на решението.