Juego ejercicios [Python]

Iniciado por Masita, 21 Diciembre 2009, 03:04 AM

0 Miembros y 1 Visitante están viendo este tema.

Novlucker

#40
Ahora le toca a braulio23 poner su ejercicio ;D

Aquí lo que hubiese sido mi script:
Código (python) [Seleccionar]
def EsPalindromo(Texto):
    Texto = Texto.lower().replace(" ","")
    if(Texto == Texto[::-1]):
        return True
    return False

palabra = input("Escribe la palabra: ")
if EsPalindromo(palabra):
    print("\nPalabra/frase palindroma")
else:
    print("\nPalabra/frase NO palindroma")


Como ya he dicho antes, estoy dejando estos scripts para que vean como se podrían mejorar, si a alguien le molesta que lo haga simplemente me lo dice por aquí

Saludos
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

braulio--

#41
Cita de: Novlucker en  2 Enero 2010, 18:10 PM
Ahora le toca a braulio23 poner su ejercicio ;D

Aquí lo que hubiese sido mi script:
Código (python) [Seleccionar]
def EsPalindromo(Texto):
Texto = Texto.lower().replace(" ","")
if(Texto == Texto[::-1]):
return True
return False

palabra = input("Escribe la palabra: ")
if EsPalindromo(palabra):
print("\nPalabra/frase palindroma")
else:
print("\nPalabra/frase NO palindroma")


Como ya he dicho antes, estoy dejando estos scripts para que vean como se podrían mejorar, si a alguien le molesta que lo haga simplemente me lo dice por aquí

Saludos

Impresionante :xD ni me acordaba que existía el tercer número en los slices :xD

Pues mi ejercicio va a ser ... un programa que dado un número , lo descomponga en sus factores primos .
Ejemplo :  360 = 2*5*2*3*3, 4 = 2*2 , 23 = 23
Yo ya tengo el mio

[braulio@washingmachine ejer]$ python fact
Escribe un numero : 65080
[2, 2, 2, 5, 1627]

leogtz

No, a nadie le molesta.

¿En el ejercicio sobre los palindromos, habría que quitar/reemplazar espacios, luego usar el método reverse() contra la cadena?
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

Novlucker

En el ejemplo que he dejado:

Cambiar texto a minúsculas, porque sino "Reconocer" no sería palindroma.
Reemplazar espacios.
Invertir la cadena, pero el método reverse() no funciona en cadenas, en lugar de eso he tratado al cadena como si fuera un array de caracteres (que lo es) para invertirla, eso se hace en memoria y la palabra sigue estando igual

Saludos
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

CaronteGold

Cita de: Novlucker en  1 Enero 2010, 20:48 PM
La verdad que algunos métodos que trae python facilitan mucho las cosas, como el sort ;D
Por cierto, las listas se pueden recorrer sin recurrir a otras variables :P

Código (python) [Seleccionar]
import random
try:
   a = int(input("Ingresa el número de caras del dado: "),10)
   b = int(input("Ingresa el número de tiradas: "),10)
except:
   print("Alguno de los valores ingresados no es numérico")

Tiradas = []

for i in range(b):
   Tiradas.append(random.randint(1,a))

Tiradas.sort()

for i in Tiradas:
   print(i)


Saludos

    Buenas, tengo una duda Novlucker,  porque al final de las variables con input pones un " 10 " ¿?.


  Y esto último no lo entendí muy bien, lo de append, y lo que hace realmente el " sort". :


  for i in range(b):
    Tiradas.append(random.randint(1,a))

Tiradas.sort()

for i in Tiradas:
    print(i)



   Saludos.

Masita

#45
Bueno ahi va mi codigo si alguien le da el visto bueno posteo el siguiente ejercicio.

Código (python) [Seleccionar]

def primo(numero):
primos=[]
for i in range(2,numero):
       if(numero % i == 0):
return False
return True

def Factorizar(n):
factores=[]
while n != 1:
i=2
while i <= n:
if (n % i == 0) and primo(i)== True or  i==2:
factores.append(i)
n = n/i
i+=1
else:
i+=1
print factores

Factorizar(360)


PD: He reutilizado un poco tu codigo Novlucker

Caronte (nombrelista).append(lo que queramos añadir) lo que hace es añadir el elemento dentro del parantesis al final de la lista.
Respecto a lo de sort() es un metodo que ordena los elementos de una lista.
En el cielo estan suspendidas las palabras que cantamos en nuestros sueños....

braulio--

#46
Cita de: CaronteGold en  2 Enero 2010, 18:52 PM
Cita de: Novlucker en  1 Enero 2010, 20:48 PM
La verdad que algunos métodos que trae python facilitan mucho las cosas, como el sort ;D
Por cierto, las listas se pueden recorrer sin recurrir a otras variables :P

Código (python) [Seleccionar]
import random
try:
   a = int(input("Ingresa el número de caras del dado: "),10)
   b = int(input("Ingresa el número de tiradas: "),10)
except:
   print("Alguno de los valores ingresados no es numérico")

Tiradas = []

for i in range(b):
   Tiradas.append(random.randint(1,a))

Tiradas.sort()

for i in Tiradas:
   print(i)


Saludos

   Buenas, tengo una duda Novlucker,  porque al final de las variables con input pones un " 10 " ¿?.


 Y esto último no lo entendí muy bien, lo de append, y lo que hace realmente el " sort". :


 for i in range(b):
   Tiradas.append(random.randint(1,a))

Tiradas.sort()

for i in Tiradas:
   print(i)



  Saludos.
Lo de 10 creo que es para que la entrada sea base 10.
El .sort() lo que hace es ordenar la lista.
El .append() mete un elemento mas en la lista.
@ Masita, parece válido.
Pongo el mío :
Código (python) [Seleccionar]

#!/usr/bin/python
import math
def esprimo(numero):
  for i in range(2,int(math.sqrt(numero))+1):
    if numero%i == 0:
      return False
  return True
def listadefactores(numero):
  factoresprimos = []
  if numero==1:
   return []
  for i in range(2,numero+1):
    if esprimo(i) and numero%i==0:
      factoresprimos.append(i)
      factoresprimos+=listadefactores(numero/i)
      break
  return factoresprimos
while 1:
print listadefactores(int(raw_input("Escribe un numero : ")))


CaronteGold

   Sé que es para ordenar, pero ordenar en que sentido, mayor-menor, números de palabras, ... etc.

braulio--


Masita

#49
Depende del argumento que le pases, eso no lo controlo mucho luego busco y te envio un PM si no te contestan por aqui. Recuerda que la mejor manera de saber que hace algo es probarlo  ;)

Bien siguiente ejercicio como veo que la gente con las listas y las cadenas lo lleva un poco flojo:


-Tomar dos cadenas de texto y ver cual es la letra que mas se repite.
-Imprimir la letra y el numero de veces que se repite
En el cielo estan suspendidas las palabras que cantamos en nuestros sueños....