elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: ¿Usas Skype? Protégete de los Skype Resolver


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [Python] Las constante K.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 3 Ir Abajo Respuesta Imprimir
Autor Tema: [Python] Las constante K.  (Leído 8,533 veces)
Meta


Desconectado Desconectado

Mensajes: 3.146



Ver Perfil WWW
[Python] Las constante K.
« en: 28 Octubre 2010, 15:18 »

Hola:

Viendo este ejercicio.
Ver ejercicio

No se si he interpretado bien lo que me pide y siguiendo los ejemplos del PDF he modificado este código.

Código
  1. cadena = raw_input('Escribe una frase: ')
  2. while cadena != '':
  3.    cambios = 0
  4.    for i in range(1, len(cadena)):
  5.        if cadena[i] == ' ' and cadena[i-1] != ' ':
  6.            cambios = cambios + 1
  7.  
  8.    if cadena[-1] == ' ':
  9.        cambios = cambios - 1
  10.  
  11.    palabras = cambios + 1
  12.    print 'Palabras:', palabras, 'palabras y', i, 'carácteres.'
  13.  
  14.    cadena = raw_input('Escribe una frase: ')

Su resultado es este.
Citar
Escribe una frase: Vale más una imagen, que mil palabras.
Palabras: 7 palabras y 38 carácteres.
Escribe una frase:

¿Qué opinas?

;)


En línea

Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/
criskapunk

Desconectado Desconectado

Mensajes: 277



Ver Perfil
Re: [Python] Las constante K.
« Respuesta #1 en: 28 Octubre 2010, 16:00 »

El codigo no lo mire, pero viendo el resultado que devuelve, no hace exactamente lo que te pide el ejercicio.

Lo que tenes que hacer es, dada una cadena y un numero entero, por ejemplo:

Código:
cadena = "Una imagen vale mas que mil palabras"
k = 3

Te diga si alguna de las palabras de la cadena tiene una cantidad de letras k. En este caso te deberia devolver verdadero ya que las palabras "Una" - "mas" - "que" - "mil" tienen k (3) letras.

Un saludo ;)


En línea

Meta


Desconectado Desconectado

Mensajes: 3.146



Ver Perfil WWW
Re: [Python] Las constante K.
« Respuesta #2 en: 28 Octubre 2010, 16:39 »

Ya te endiendo. Deja ver com me expreso lo que me cuentas.

Si en este cadena:
Citar
cadena = "Una imagen vale mas que mil palabras"
Debo detectar de alguna manera que una palabra que contenga (k) 3 letras y algún espacio por medio para que las detecte. ¿Te refieres a eso? Parece que si.

Parece que hay que hacer algo, por ejemplo que detecte las tres primeras letras y cuando detecte un espacio o una coma o un punto te lo guarda y lo presenta con print.

Ejemplo:
cadena = "Una imagen vale mas que mil palabras"
- Si recorre una cadena "cadena" y detecta tres letras (k) y un espacio.
- Muestra k
-En caso contrario lo ignora su es mayor o menor.

¿Es algo así?

Sigo investigando...
En línea

Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/
Meta


Desconectado Desconectado

Mensajes: 3.146



Ver Perfil WWW
Re: [Python] Las constante K.
« Respuesta #3 en: 28 Octubre 2010, 18:22 »

Con este código sacado del libro.

Código
  1. cadena = raw_input('Escribe una frase: ')
  2. while cadena != '':
  3.    cambios = 0
  4.    anterior = ' '
  5.    for i in cadena:
  6.        if caracter == ' ' and caracter != ' ':
  7.            cambios + 1
  8.        anterior = caracter
  9.  
  10.    if cadena[-1] == ' ':
  11.        cambios = cambios - 1
  12.  
  13.    palabras = cambios + 1
  14.    print 'Palabras:', palabras, 'palabras y', i, 'carácteres.'
  15.    print 'cambios', cambios
  16.  
  17.  
  18.    cadena = raw_input('Escribe una frase: ')

Me da este error.
Citar
Traceback (most recent call last):
  File "/home/simi/NetBeansProjects/simi/src/simi.py", line 25, in <module>
    if caracter == ' ' and caracter != ' ':
NameError: name 'caracter' is not defined

Edito:
Ya encontré el error.
Código
  1. cadena = raw_input('Escribe una frase: ')
  2. while cadena != '':
  3.    cambios = 0
  4.    anterior = ' '
  5.    for caracter in cadena:
  6.        if caracter == ' ' and anterior != ' ':
  7.            cambios += 1
  8.        anterior = caracter
  9.  
  10.    if cadena[-1] == ' ':
  11.        cambios = cambios - 1
  12.  
  13.    palabras = cambios + 1
  14.    print 'Palabras:', palabras

Estoy traquiniando de como detectar los 3 primeros (k) caracter y espacio para que se quede con él.
« Última modificación: 28 Octubre 2010, 20:04 por Meta » En línea

Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/
Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.695


WOS & Khan & Calero LDN


Ver Perfil WWW
Re: [Python] Las constante K.
« Respuesta #4 en: 28 Octubre 2010, 20:05 »

Pues, la variable CARACTER que valor contiene? Solo la veo en esa parte de código nada más. :p
En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
Meta


Desconectado Desconectado

Mensajes: 3.146



Ver Perfil WWW
Re: [Python] Las constante K.
« Respuesta #5 en: 28 Octubre 2010, 20:34 »

Haciéndola de esta menera:

Código
  1. cadena = raw_input('Escribe una frase: ')
  2. while cadena != '':
  3.    cambios = 0
  4.    anterior = ' '
  5.    for caracter in cadena:
  6.        if caracter == ' ' and anterior != ' ':
  7.            cambios += 1
  8.        anterior = caracter
  9.  
  10.    if cadena[-1] == ' ':
  11.        cambios = cambios - 1
  12.  
  13.    palabras = cambios + 1
  14.    print 'Palabras:', palabras
  15.    print 'Cambios',cambios
  16.    print 'Caracter',caracter
  17.    print 'Cadena',cadena
  18.  
  19.  
  20.    cadena = raw_input('Escribe una frase: ')

Su resultado es este:
Citar
Escribe una frase: Una imagen vale mas que mil palabras
Palabras: 7
Cambios 6
Caracter s
Cadena Una imagen vale mas que mil palabras
En línea

Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/
Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.695


WOS & Khan & Calero LDN


Ver Perfil WWW
Re: [Python] Las constante K.
« Respuesta #6 en: 28 Octubre 2010, 21:10 »

No entendí está parte del código,
Código
  1. cadena = raw_input('Escribe una frase: ')
  2. while cadena != '':
  3.    cambios = 0
  4.    anterior = ' '
  5.    for caracter in cadena:
  6.        if caracter == ' ' and anterior != ' ':
  7.            cambios += 1
  8.        anterior = caracter
  9.  
  10.    if cadena[-1] == ' ':
  11.        cambios = cambios - 1
  12.  
  13.    palabras = cambios + 1
  14.    print 'Palabras:', palabras
  15.    print 'Cambios',cambios
  16.    print 'Caracter',caracter
  17.    print 'Cadena',cadena
  18.  
  19.  
  20.    cadena = raw_input('Escribe una frase: ')
En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
Meta


Desconectado Desconectado

Mensajes: 3.146



Ver Perfil WWW
Re: [Python] Las constante K.
« Respuesta #7 en: 28 Octubre 2010, 22:02 »



Por lo que entiendo if caracter es igual a espacio y anterior es distinto a espacio, si se cumple, cambios += 1, en caso de no cumplirse salta a anterior = caracter.

PD: ¿Cómo marcas ese color en las líneas de código?
En línea

Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/
xassiz~


Desconectado Desconectado

Mensajes: 457



Ver Perfil WWW
Re: [Python] Las constante K.
« Respuesta #8 en: 28 Octubre 2010, 22:26 »

PD: ¿Cómo marcas ese color en las líneas de código?
Dale a Citar y ya ves su BBCode ;D
En línea

criskapunk

Desconectado Desconectado

Mensajes: 277



Ver Perfil
Re: [Python] Las constante K.
« Respuesta #9 en: 28 Octubre 2010, 22:26 »

En las etiquetas de Python pones una , y el numero de linea a resaltar.

[*code=python,2][*/code]

Muestra:

Código
  1. print "Prueba"
  2. print "Prueba"
  3. print "Prueba"
  4. print "Prueba"
  5.  

Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.
 :¬¬
En línea

Páginas: [1] 2 3 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Declarar constante privada POO
Programación C/C++
RON06 2 3,378 Último mensaje 23 Abril 2011, 00:48
por RON06
Turbulación constante en la parte del CPU
Hardware
sora_ori 6 3,399 Último mensaje 5 Febrero 2012, 18:49
por Randomize
Cambio de link constante en wiki
Dudas Generales
maxpaynemax 0 434 Último mensaje 19 Abril 2013, 13:42
por maxpaynemax
iniciar constante
Java
mianrojime 5 1,540 Último mensaje 30 Agosto 2014, 14:52
por 0vatsug
Mi internet se cae muy constante
Redes
Xavier118 1 829 Último mensaje 11 Marzo 2018, 05:45
por Machacador
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines