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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  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 12,753 veces)
Meta


Desconectado Desconectado

Mensajes: 3.438



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

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.  

Ya entiendo, muchas gracias. Puse el ,4.

Con este ejercicio sigo en con la curiosidad de como detectar cuando tiene 3 letras.

Sigo intentando como detectar la k si vale 3 al introducirla y que te muestre sólo palabras de 3 letras.

Código
  1. cadena = raw_input('Escribe una frase: ')
  2. k = int(raw_input('Introduces un número para la constante K: '))
  3.  
  4. while cadena != '':
  5.    cambios = 0
  6.    anterior = ' '
  7.    for caracter in cadena:
  8.        if caracter == ' ' and anterior != ' ':
  9.            cambios += 1
  10.        anterior = caracter
  11.  
  12.    if cambios == k:
  13.        print cambios [cadena]
  14.  
  15.    if cadena[-1] == ' ':
  16.        cambios = cambios - 1
  17.  
  18.    palabras = cambios + 1
  19.    print 'Palabras:', palabras
  20.    print 'Cambios', cambios
  21.    print 'Caracter', caracter
  22.    print 'Cadena', cadena
  23.  
  24.    cadena = raw_input('Escribe una frase: ')

Otro intento raro.
Código
  1. cadena = raw_input('Escribe una frase: ')
  2. k = int(raw_input('Introduces un número para la constante K: '))
  3.  
  4. while cadena != '':
  5.    cambios = 0
  6.    anterior = ' '
  7.    for caracter in cadena:
  8.        if caracter == ' ' and anterior != ' ':
  9.            cambios += 1
  10.        anterior = caracter
  11.  
  12.    if cadena[-k] >= 0:
  13.        cambios = cambios - k
  14.  
  15. #    if cadena[-1] == ' ':
  16. #        cambios = cambios - 1
  17.  
  18.    palabras = cambios + 1
  19.    print 'Palabras:', palabras
  20.    print 'Cambios', cambios
  21.    print 'Caracter', caracter
  22.    print 'Cadena', cadena
  23.  
  24.    cadena = raw_input('Escribe una frase: ')








Edito:

Este ejercicio se me resiste.

Voy a ponerlo más fácil.
Código
  1. cadena = raw_input('Escribe una frase: ')
  2. while cadena != '':
  3.    blancos = 0
  4.    for caracter in cadena:
  5.        if blancos == ' ':
  6.            blancos += 1
  7.    palabras =blancos + 1 # Hay una palabra mas que blancos.
  8.    print 'Palabra:', palabras
  9.  
  10.    cadena = raw_input('Escribe una frase: ')

Aquí claramente detecta los espacios en blanco. pero quiero que detecte la K = 3 como pide el enunciado que puedes ver aquí.

Debe haber una manera de detectar tres palabas en una cadena.

Lo que supuestamente hay que hacer.
- Introduce una cadena. Ejemplo: Vale mas una iamgen que mil palabras.
- Intoduce una constante k. Ejemplo. 3.
- Con un bucle for lee cadena "Vale mas una iamgen que mil palabras".
- Comprueba si por cada palabra tiene el valor de la constante k que en este caso es 3. (Aquí ya no se como hacerlo).
...
...


« Última modificación: 29 Octubre 2010, 01:26 am por Meta » En línea

criskapunk

Desconectado Desconectado

Mensajes: 277



Ver Perfil
Re: [Python] Las constante K.
« Respuesta #11 en: 29 Octubre 2010, 13:48 pm »

Al fin se me ocurrio una manera de resolverlo :P Te lo dejo por si te sirve:

Código
  1. s = raw_input("Ingrese una cadena: ")
  2. k = int(raw_input("Ingrese el valor de k: "))
  3. j = 0
  4.  
  5. for c in s:
  6.    if (ord(c) >= 65 and ord(c) <= 90) or (ord(c) >= 97 and ord(c) <= 122):
  7.        j += 1
  8.    else:
  9.        if k == j:
  10.            print "La cadena tiene por lo menos una palabra de ", k, " letras"
  11.            break

Un saludo ;)



En línea

Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: [Python] Las constante K.
« Respuesta #12 en: 29 Octubre 2010, 13:57 pm »

Código
  1. p = raw_input('Ingresa frase: ')
  2. n = input('Ingresa numero de caracteres: ')
  3. counter = 0
  4. for i in p.split(' '):
  5.    if len(i)==n:
  6.        counter+=1
  7.  
  8. print'Hay %i palabras con %i letras' % (counter,n)
Se podría reemplazar los caractéres que no son letras, pero vaaaaa, es el método más corto :xD ... :P

Saludos
« Última modificación: 29 Octubre 2010, 13:58 pm por Novlucker » En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
Meta


Desconectado Desconectado

Mensajes: 3.438



Ver Perfil WWW
Re: [Python] Las constante K.
« Respuesta #13 en: 29 Octubre 2010, 15:47 pm »

Muy buenas:

http://docs.python.org/library/stdtypes.html#str.split

Lo había hecho con C# buscando info por ahí y es así, pero se me adelantaron.
Código
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace letras
  7. {
  8.    class Program
  9.    {
  10.        static void Main(string[] args)
  11.        {
  12.            while (true)
  13.            {
  14.            Console.Title = "Hola";
  15.            Console.WriteLine("Introduce una frase:");
  16.            string cadena = Convert.ToString(Console.ReadLine());
  17.            Console.WriteLine("Introduce una constante k:");
  18.            int k = Convert.ToInt32(Console.ReadLine());
  19.  
  20.            foreach (string palabra in cadena.Split(" ".ToCharArray()))
  21.            {
  22.                if (palabra.Length == k)
  23.                {
  24.                    Console.WriteLine(palabra);
  25.                }
  26.            }
  27.  
  28.            Console.ReadKey(); // Retener la pantalla.
  29.            }
  30.        }
  31.    }
  32. }

Tu código no me da resultado.
Código
  1. s = raw_input("Ingrese una cadena: ")
  2. k = int(raw_input("Ingrese el valor de k: "))
  3. j = 0
  4.  
  5. for c in s:
  6.    if (ord(c) >= 65 and ord(c) <= 90) or (ord(c) >= 97 and ord(c) <= 122):
  7.        j += 1
  8.    else:
  9.        if k == j:
  10.            print "La cadena tiene por lo menos una palabra de ", k, " letras"
  11.            break
No me muestra nada en pantalla.

De
Edito:
No hay que poner Break o si no no funciona. Vi tu código y no es lo que pide. Pide algo como esto.
« Última modificación: 29 Octubre 2010, 16:07 pm por Meta » En línea

criskapunk

Desconectado Desconectado

Mensajes: 277



Ver Perfil
Re: [Python] Las constante K.
« Respuesta #14 en: 29 Octubre 2010, 16:06 pm »

Lo ejecutaste haciendole doble click?
En línea

Meta


Desconectado Desconectado

Mensajes: 3.438



Ver Perfil WWW
Re: [Python] Las constante K.
« Respuesta #15 en: 29 Octubre 2010, 16:11 pm »

Este código:
Código
  1. p = raw_input('Ingresa frase: ')
  2. n = input('Ingresa numero de caracteres: ')
  3. counter = 0
  4. for i in p.split(' '):
  5.    if len(i)==n:
  6.        counter+=1
  7.  
  8. print'Hay %i palabras con %i letras' % (counter,n)
Citar
Ingresa frase: Una imagen vale mas que mil palabras
Ingresa numero de caracteres: 3
Hay 4 palabras con 3 letras
No es el que pide en el ejercicio. Funciona bien pero no es el que pide.

Para que se hagan una idea, hay que introducir una cadena y después k = 3 por poner un ejemplo.

Lo que hace es que si k = 3, sólo muestra en pantalla palabras que tienen 3 letras.



Gracias su tiempo.
En línea

criskapunk

Desconectado Desconectado

Mensajes: 277



Ver Perfil
Re: [Python] Las constante K.
« Respuesta #16 en: 29 Octubre 2010, 16:15 pm »

Segun lo que entendi del enunciado, lo unico que hay que haces es informar si alguna de las palabras de la cadena tienen k cantidad de caracteres.

Un saludo ;)
En línea

Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: [Python] Las constante K.
« Respuesta #17 en: 29 Octubre 2010, 16:17 pm »

Yo creo que tu problema es de interpretación, donde dice que imprima las palabras? :xD

Saludos
En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
Meta


Desconectado Desconectado

Mensajes: 3.438



Ver Perfil WWW
Re: [Python] Las constante K.
« Respuesta #18 en: 29 Octubre 2010, 16:36 pm »



Es verdad, y complicándome las neuronas por mi fallo. Disculpe ustedes.

Viendo el código otra vez.
Código
  1. s = raw_input("Ingrese una cadena: ")
  2. k = int(raw_input("Ingrese el valor de k: "))
  3. j = 0
  4.  
  5. for c in s:
  6.    if (ord(c) >= 65 and ord(c) <= 90) or (ord(c) >= 97 and ord(c) <= 122):
  7.        j += 1
  8.    else:
  9.        if k == j:
  10.            print "La cadena tiene por lo menos una palabra de ", k, " letras"
  11.            break

Citar
Ingrese una cadena: Una imagen vale mas que mil palabras.
Ingrese el valor de k: 3
La cadena tiene por lo menos una palabra de  3  letras

Hay 4 palabras de 3 letras y son: Una, mas, que y mil.

Este otro código está bien.
Citar
Ingresa frase: Una imagen vale mas que mil palabras
Ingresa numero de caracteres: 3
Hay 4 palabras con 3 letras
En línea

Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: [Python] Las constante K.
« Respuesta #19 en: 29 Octubre 2010, 16:43 pm »

Sip, igual dije además lo de los caracteres que no son letras porque si por ejemplo terminas la frase con punto, te lo cuenta como parte de la última palabra :P

Saludos
En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
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 4,295 Último mensaje 23 Abril 2011, 00:48 am
por RON06
Turbulación constante en la parte del CPU
Hardware
sora_ori 6 4,507 Último mensaje 5 Febrero 2012, 18:49 pm
por Randomize
Cambio de link constante en wiki
Dudas Generales
maxpaynemax 0 1,182 Último mensaje 19 Abril 2013, 13:42 pm
por maxpaynemax
iniciar constante
Java
mianrojime 5 2,805 Último mensaje 30 Agosto 2014, 14:52 pm
por 0vatsug
Mi internet se cae muy constante
Redes
Xavier118 1 2,123 Último mensaje 11 Marzo 2018, 05:45 am
por Machacador
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines