Ejercicio: 1Eva2017TI_T1 Palabras puntaje

Propuesta de solución en Python, revisar tema indicado como tarea:
Para iniciar el algoritmo se presenta un ejemplo busca como resultado: mostrar cada palabra y su puntaje.
Al final se muestra la palabra que obtuvo mayor puntaje.
palabra, puntaje:
CAS*A* 6
S*ASTR*E* 6
R*EY* 6
A*ZOTE* 14
Mayor puntaje:
A*ZOTE* 14
>>>
En el bloque de ingreso se ha optado por incluir las palabras del ejercicio del enunciado.
alfabeto = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
equivale = [1,3,3,2,1,4,2,4,1,9,5,1,3,1,1,3,10,1,1,1,1,4,4,9,4,10]
Para simplificar la identificación de las letras se convierten todas a mayúsculas en caso que el usuario las escriba en minúsculas.
# unifica a mayúsculas
variaspalabras = variaspalabras.upper()
# separa las palabras por ','
palabras = variaspalabras.split(',')
Se utiliza un contador de "puntos" por cada "palabra".
Luego se procesa cada palabra, analizando cada letra para encontrar el puntaje equivalente.
# Analiza palabra, letra por letra
j = 0
while (j<m):
letra = unapalabra[j]
if (letra in abecedario):
donde = abecedario.index(letra)
puntos[i] = puntos[i]+equivale[donde]
j = j+1 # siguiente letra
Algoritmo en Python
# 1Eva2017TI_T1 Palabras puntaje
# Tarea: considere los '*'como doble puntaje
# para letra anterior
import numpy as np
# INGRESO
# variaspalabras = input('Analizar: ')
variaspalabras ='CAS*A*,S*ASTR*E*,R*EY*,A*ZOTE*'
# PROCEDIMIENTO
abecedario = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
equivale = [1,3,3,2,1,4,2,4,1,9,5,1,3,1,1,3,
10,1,1,1,1,4,4,9,4,10]
# unifica a mayúsculas
variaspalabras = variaspalabras.upper()
# separa las palabras por ','
palabras = variaspalabras.split(',')
n = len(palabras)
# arreglo de puntos por cada palabra
puntos = np.zeros(n,dtype=int)
i = 0
while (i<n):
unapalabra = palabras[i]
m = len(unapalabra)
# Analiza palabra, letra por letra
j = 0
while (j<m):
letra = unapalabra[j]
if (letra in abecedario):
donde = abecedario.index(letra)
puntos[i] = puntos[i]+equivale[donde]
j = j+1 # siguiente letra
i = i+1 #siguiente palabra
# encuentra posición del máximo puntaje
cual = np.argmax(puntos)
# SALIDA
print('palabra, puntaje: ')
i = 0
while (i<n):
print(palabras[i],puntos[i])
i = i+1
print('Mayor puntaje: ')
print(palabras[cual],puntos[cual])