Estoy intentando hacer una función en la cuál se le pasa una cadena como parámetro, y obtiene el valor numérico de cada carácter, y los suma todos. Intenté con for y while, pero no le encuentro la vuelta. Alguien me podría decir si hay una función que haga esto?
edit: Que idiotez la mía olvidé decir que trabajo en Python.
Con valor numérico te referís a por ejemplo a=1, b=2... etc? O al valor ascii de cada carácter?
Con qué lenguaje?
Es en Python, y hablo del código ASCII. Estuve intentando muchas cosas. Me da cualquier resultado, o no me da nada. No le encuentro la forma de hacerlo andar, en si la lista de pasos que hize es correcta, pero le estoy fallando en el código. Alguien se le ocurre una manera? No es necesario ningún código, sólo que estoy estancado.
Cualquier ayuda sirve. Gracias.
Publica el código que llevas hecho así te podemos ayudar mejor.
Igualmente para obtener el valor ASCII de un carácter disponés de la función Ord().
http://docs.python.org/library/functions.html#ord
Un saludo.
Es parte de otro código, pero que no viene al caso. Es experimental igual, y hay cosas que le faltan porque las estoy borrando y sacando:
class Jzk:
def __init__(self, Llave):
self.Llave = Llave
def ObtenerValor(self):
Contador = 0
for Caracter in self.Llave:
suma1 = ord(Llave[Contador]) + ord(self.Llave[Contador+1])
Contador += 1
suma = suma1 + ord(Llave[Contador+2]
return suma
Ya se que está mal programado y todo, es que estoy aprendiendo y experimento jeje.
Mi razonamiento es que inicie un contador a 0 por cada caracter haga esto:
sume cadena[contador] + cadena[contador+1[ (Por ejemplo la cadena ABCD suma A + B). El resultado le suma cadena[contador+2], esto sería 0+2, que sería el 3er elemento, y así sucesivamente.
Ya se que seguro me estoy pasando algo por alto, y que es un desastre el código jeje, pero bueno de los errores y peteadas se aprenden jeje
Gracias por la ayuda n.n
Hola!
Soy medio novato en el tema de la programacion y con python, pero(en mi opinion) deberias:
->Usar un bucle for en la variable "Llave" para ir recorriendo cada caracter
->Sumar(en un contador) el valor ascii de cada caracter(usando la funcion ord() que ya te comentaron)
->Luego hacer lo que necesites con ese valor(retornarlo, presentarlo por pantalla, etc)
Aca dejo el codigo(creo que no es "hacer la tarea", si es asi, pido disculpas y lo borro :P), y creo hace lo que pides, si no es asi, supongo que te entendi mal :silbar:
class Jzk:
def __init__(self, Llave):
self.Llave = Llave
def ObtenerValor(self):
tmpSuma = 0 #variable contador
for caracter in self.LLave: #Por cada caracter en "LLave"
tmpSuma += ord(caracter) #Aumentamos el valor de tmpSuma en el valor ascii del caracter "actual"
return tmpSuma
Saludos!
Ah, y yo complicándome la vida. Lo peor es que eso lo pensé. Como se nota mi novatez jajaj. Gracias por la ayuda, y no, no fue hacer la tarea porque no lo voy a copiar jeje. Me sirvió de mucho para orientarme, voy a implementarlo de otra forma. Te agradezco, entendí un poco mejor como es la onda jaja. Muchísimas gracias . :)