Puntuación de una Palabra en Spelling Bee


Descripción

De acuerdo con las reglas de “Spelling Bee”:

  • Las palabras de 4 letras, valen 1 punto.
  • Las palabras más largas valen 1 punto por letra.
  • Cada acertijo incluye al menos un “pangrama”, el cuál usa todas las letras. Estas palabras valen 7 puntos extra.

Escribe una función llamada word_score que tome una palabra y una cadena de letras disponibles y devuelva su puntuación. Puedes asumir que la palabra es válida.

@mkfnx Ejercicio de #programación #python : Calcular la puntuación que otorga una palabra en el juego de "Spelling Bee" del New York Times. Este ejercicio proviene del capítulo sobre iteración y búsqueda del libro "Think Python".Puedes encontrar este ejercicio y muchos más en el sitio PythonGym en el que estoy recopilando ejercicios de Python para que puedas practicar y mejorar tus habilidades de programación.#DesarrolloDeSoftware #EjerciciosProgramación #ProgramaciónPython #AprendeEnTikTok #TechTok #DevTok ♬ sonido original - Miguel

Puedes usar las funciones de ejercicios previos.

Esta es una guía de la función requerida, que incluye doctests.

def word_score(word, available):
  """Compute the score for an acceptable word.
  
  >>> word_score('card', 'ACDLORT')
  1
  >>> word_score('color', 'ACDLORT')
  5
  >>> word_score('cartload', 'ACDLORT')
  15
  """
  return 0

Ejemplo de Ejecución:

print(word_score('card', 'ACDLORT'))
1
print(word_score('color', 'ACDLORT'))
5
print(word_score('cartload', 'ACDLORT'))
15

Solución

Mostrar solución
def word_score(word, available):
  """Compute the score for an acceptable word.
  
  >>> word_score('card', 'ACDLORT')
  1
  >>> word_score('color', 'ACDLORT')
  5
  >>> word_score('cartload', 'ACDLORT')
  15
  """
  word_length = len(word)

  if word_length <= 4:
    return 1

  score = word_length
  if uses_all(word, available):
    score += 7

  return score

Probar solución en Google Colab

Fuente del ejercicio: https://allendowney.github.io/ThinkPython/chap07.html#id3