Autor
|
Tema: [Python] Las constante K. (Leído 13,789 veces)
|
Meta
|
Hola: Viendo este ejercicio. Ver ejercicioNo se si he interpretado bien lo que me pide y siguiendo los ejemplos del PDF he modificado este código. cadena = raw_input('Escribe una frase: ') while cadena != '': cambios = 0 for i in range(1, len(cadena)): if cadena[i] == ' ' and cadena[i-1] != ' ': cambios = cambios + 1 if cadena[-1] == ' ': cambios = cambios - 1 palabras = cambios + 1 print 'Palabras:', palabras, 'palabras y', i, 'carácteres.' cadena = raw_input('Escribe una frase: ')
Su resultado es este. 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
|
|
|
|
criskapunk
Desconectado
Mensajes: 277
|
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: 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
|
Ya te endiendo. Deja ver com me expreso lo que me cuentas. Si en este cadena: 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
|
|
|
|
Meta
|
Con este código sacado del libro. cadena = raw_input('Escribe una frase: ') while cadena != '': cambios = 0 anterior = ' ' for i in cadena: if caracter == ' ' and caracter != ' ': cambios + 1 anterior = caracter if cadena[-1] == ' ': cambios = cambios - 1 palabras = cambios + 1 print 'Palabras:', palabras, 'palabras y', i, 'carácteres.' print 'cambios', cambios cadena = raw_input('Escribe una frase: ')
Me da este error. 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. cadena = raw_input('Escribe una frase: ') while cadena != '': cambios = 0 anterior = ' ' for caracter in cadena: if caracter == ' ' and anterior != ' ': cambios += 1 anterior = caracter if cadena[-1] == ' ': cambios = cambios - 1 palabras = cambios + 1 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 pm por Meta »
|
En línea
|
|
|
|
Shell Root
|
Pues, la variable CARACTER que valor contiene? Solo la veo en esa parte de código nada más. :p
|
|
|
En línea
|
Te vendería mi talento por poder dormir tranquilo.
|
|
|
Meta
|
Haciéndola de esta menera: cadena = raw_input('Escribe una frase: ') while cadena != '': cambios = 0 anterior = ' ' for caracter in cadena: if caracter == ' ' and anterior != ' ': cambios += 1 anterior = caracter if cadena[-1] == ' ': cambios = cambios - 1 palabras = cambios + 1 print 'Palabras:', palabras print 'Cambios',cambios print 'Caracter',caracter print 'Cadena',cadena cadena = raw_input('Escribe una frase: ')
Su resultado es este: 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
|
|
|
|
Shell Root
|
No entendí está parte del código, cadena = raw_input('Escribe una frase: ') while cadena != '': cambios = 0 anterior = ' ' for caracter in cadena: if caracter == ' ' and anterior != ' ': cambios += 1 anterior = caracter if cadena[-1] == ' ': cambios = cambios - 1 palabras = cambios + 1 print 'Palabras:', palabras print 'Cambios',cambios print 'Caracter',caracter print 'Cadena',cadena cadena = raw_input('Escribe una frase: ')
|
|
|
En línea
|
Te vendería mi talento por poder dormir tranquilo.
|
|
|
Meta
|
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
|
|
|
|
xassiz~
|
PD: ¿Cómo marcas ese color en las líneas de código?
Dale a Citar y ya ves su BBCode
|
|
|
En línea
|
|
|
|
criskapunk
Desconectado
Mensajes: 277
|
En las etiquetas de Python pones una , y el numero de linea a resaltar. [*code=python,2][*/code] Muestra: print "Prueba" print "Prueba" print "Prueba" print "Prueba"
Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Declarar constante privada POO
Programación C/C++
|
RON06
|
2
|
4,496
|
23 Abril 2011, 00:48 am
por RON06
|
|
|
Turbulación constante en la parte del CPU
Hardware
|
sora_ori
|
6
|
4,778
|
5 Febrero 2012, 18:49 pm
por Randomize
|
|
|
Cambio de link constante en wiki
Dudas Generales
|
maxpaynemax
|
0
|
1,355
|
19 Abril 2013, 13:42 pm
por maxpaynemax
|
|
|
iniciar constante
Java
|
mianrojime
|
5
|
3,060
|
30 Agosto 2014, 14:52 pm
por 0vatsug
|
|
|
Mi internet se cae muy constante
Redes
|
Xavier118
|
1
|
2,363
|
11 Marzo 2018, 05:45 am
por Machacador
|
|