Juego ejercicios [Python]

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

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

Novlucker

Dejo este y ya no participo hasta bien no suba un poquito el nivel, así quienes responden son los que estan comenzando con python :P

Código (python) [Seleccionar]
class Rectangulo:
    def __init__(self,Largo,Alto):
        self.largo = Largo
        self.alto = Alto

    def Area(self):
        return self.largo*self.alto

    def Perimetro(self):
        return self.largo*2+self.alto*2

try:
    a = int(input("Ingrese base del rectangulo: "),10)
    b = int(input("Ingrese altura del rectangulo: "),10)
    miRectangulo = Rectangulo(a,b)
    print("\nEl area del rectángulo es: " + str(miRectangulo.Area()))
    print("El perímetro del rectángulo es: " + str(miRectangulo.Perimetro()))
except:
    print("\nAlguno de los valores ingresados no es numérico")


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

Masita

Te me adelantaste  :laugh:

Espero tu ejercicio Novlucker  ;D
En el cielo estan suspendidas las palabras que cantamos en nuestros sueños....

Novlucker

#22
Leo

Código (python) [Seleccionar]
def Ingreso():
   try:
       base = int(input("Base :"),10)
       altura = int(input("Altura :"),10)
   except:
       print("Alguno de los valores ingresados no es numérico")
       Ingreso()

Ingreso()




Sobre el ejercicio:
Siguiendo con el ejemplo anterior, crear una clase RectanguloComplejo que herede de Rectangulo, y que contemple un nuevo método para cálculo del largo de la diagonal de dicho rectángulo ;D

Saludos

P.D: creo que todos menos yo usan Python 2.6, así que recordar modificar los input
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

leogtz

#23
Código (python) [Seleccionar]
#!/usr/bin/env python
from math import sqrt
class Rectangulo:
   """Obtiene el area y perimetro de un rectangulo"""
   def __init__(self, base, altura):
       self.base = base
       self.altura = altura
   def Area(self):
       return self.base * self.altura
   def Perimetro(self):
       return 2 * (self.base * self.perimetro)
   def Diagonal(self):
       return sqrt((self.base * self.base) + (self.altura * self.altura))  
class RectanguloComplejo(Rectangulo):
   pass
try:
   base = int(input("Base : "))
   altura = int(input("Altura : "))
except:
   print "Uno de los valores no es numerico"
rectangulito = RectanguloComplejo(base, altura)
print "Diagonal : ", rectangulito.Diagonal()


Tuve que buscar en el libro, a ver si era así, Novlucker.

Edito:

Creo que es así:

Código (python) [Seleccionar]
class RectanguloComplejo(Rectangulo):
    pass
    def Diagonal(self):
        return sqrt((self.base * self.base) + (self.altura * self.altura)) 

Código (perl) [Seleccionar]

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

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

Masita

#24
Se me olvido la raiz....
En el cielo estan suspendidas las palabras que cantamos en nuestros sueños....

Novlucker

#25
Leo, en realidad me refiero a que el RectanguloComplejo tenga un método diagonal, es decir, tu has modificado Rectangulo para que contemple un nuevo método, pero la gracia de la orientación a objetos y la herencia, es que quien hereda tenga las propiedades y métodos de la base, y que a su vez tenga los suyos propios.

Es decir, RectanguloComplejo es quien debe de tener el nuevo método :P

Masita, Pitágoras!, eso no es la diagonal :silbar:


Edito
Leo, eso mismo que has hecho en la modificación era lo que se pedía :P, eso si, quita el PASS, eso se usa para decir "aquí no hay nada"
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

leogtz

#26
A ver, fijate ahora en mi último edit del mensaje anterior, a ver si era así.
Código (python) [Seleccionar]

#!/usr/bin/env python
from math import sqrt
class Rectangulo:
   """Obtiene el area y perimetro de un rectangulo"""
   def __init__(self, base, altura):
       self.base = base
       self.altura = altura
   def Area(self):
       return self.base * self.altura
   def Perimetro(self):
       return 2 * (self.base * self.perimetro)  
class RectanguloComplejo(Rectangulo):
   def Diagonal(self):
       return sqrt((self.base * self.base) + (self.altura * self.altura))  
try:
   base = int(input("Base : "))
   altura = int(input("Altura : "))
except:
   print "Uno de los valores no es numerico"
rectangulito = RectanguloComplejo(base, altura)
print "Diagonal : ", rectangulito.Diagonal()
Código (perl) [Seleccionar]

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

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

Novlucker

Eso mismo, solo quita el pass, pero se da por bueno.

Siguiente ejercicio! ;D
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

leogtz

Bien.  ;D

El ejercicio para ustedes es :

Llenar una lista de tamaño n de números primos.
Código (perl) [Seleccionar]

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

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

Autodidacta

ofuu, habeis subido unos cuantos de escalones   :rolleyes: , bueno yo aún estoy comenzando el primer ejercicio de los dados para mí ha sido ya un gran reto... seguiré haciendo ejercicios mas acordes con mi nivel y cuando esté preparado seguire participando.. gracias..

Aprende a ver mas allá de tu nariz. ;)