[Python] Las constante K.

Iniciado por Meta, 28 Octubre 2010, 15:18 PM

0 Miembros y 2 Visitantes están viendo este tema.

Meta

Ammmm, al final hay una razón.
Gracias por decirlo para entenderlo. Gracias de nuevo por su tiempo a tod@s.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

criskapunk

Devuelve que por lo menos hay una palabra de k letras, porque cuando encuentra una sale del bucle y no continua buscando :P

Un saludo

Meta

#22
Por cierto. El ejercicio 169) no entiendo mucho. ¿Hay que hacer lo contrario?



Código (python,5) [Seleccionar]
p = raw_input('Ingresa frase: ')
n = input('Ingresa numero de caracteres: ')
counter = 0
for i in p.split(' '):
    if len(i)!=n:
        counter+=1

print'Hay %i palabras con %i letras' % (counter,n)

Sólo cambié !=.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

criskapunk

#23
Lo que tenes que hacer es (tomando como ejemplo el codigo de Novlucker) una vez que tengas separada a la cadena, comparar que la longitud de todos los elementos de la lista sea igual a k.

Te dejo una idea de como lo podrias hacer :P

- Dividir la cadena (Dentro de una lista en este caso).
- Recorrer la lista comparando la longitud de los elementos con k.
- Si son iguales, aumentar en 1 el valor de un contador (Si fueran diferentes, salir del bucle).
- Fuera del bucle, comparar si el valor de contador es igual a la longitud de la lista.
- Si es verdadero, devolver un mensaje.

Creo que lo complique demasiado :xD

Un saludo

Meta

¿Algo así?

Código (python) [Seleccionar]
p = raw_input('Ingresa frase: ')
n = int(raw_input('Ingresa numero de caracteres: '))

flag = False
for i in p.split(' '):
    if len(i) == n:
        flag = True
        break

if flag:
    print "Hay al menos una palabra de longitud", n
else:
    print "NO hay ninguna palabra de longitud", n
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

criskapunk

Con ese codigo compruebas que en la cadena hay por lo menos una palabra de longitud k. Tenes que comprobar que todas tengan esa longitud.

Colocando un else y cambiando los mensajes de salida, funciona :P

Código (python,8,9,10,13,15) [Seleccionar]
p = raw_input('Ingresa frase: ')
n = int(raw_input('Ingresa numero de caracteres: '))

flag = False
for i in p.split(' '):
    if len(i) == n:
        flag = True
    else:
        flag = False
        break
   
if flag:
    print "Todas las palabras tienen ", n, " longitud"
else:
    print "No todas las palabras tienen ", n, " longitud"


Un saludo ;)

Meta

El resultado me da esto:
CitarIngresa frase: Una imagen vale mas que mil palabas
Ingresa numero de caracteres: 3
No todas las palabras tienen  3  longitud

¿No debería dar algo así como resultado?
CitarPalabra    -> Longitud
Una        -> 3
imagen     -> 6
vale       -> 4
mas        -> 3
que        -> 3
mil        -> 3
palabras   -> 8
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

criskapunk

Segun el enunciado, lo unico que hay que hacer es informar si todas las palabras tienen longitud k. En ningun lado dice sobre mostrar la cantidad de letras de cada palabra.

Un saludo ;)

Meta

Entonce tu código modificado está muy bien, es lo que pide.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

dj_murci

hola chicos.
soy nuevo en este foro.
Estoy en un curso de programacion con python y estamos realizando muchos ejercicos de los planteados aqui.

A partir de ahora intentare ayudar a los demas e ir publicando tambien mis dudas y soluciones.

nada mas, voy a darle caña al ejercicio 129 a vre que pasa jajaja
hasta pronto amigod