Foro de elhacker.net

Programación => Ejercicios => Mensaje iniciado por: kyps en 6 Enero 2010, 16:35 pm



Título: Ejercicios Python! [Nivel:Principiante]
Publicado por: kyps en 6 Enero 2010, 16:35 pm
Sacado del curso de ricardo Narvaja! No vale  copiarse en todo caso mirar mi otro post con pistas...

Ejercicio 1)

sean las variables

c='pesos'
a=67.873
b=-65432.86
d='euros'

crear una string con formato para cada caso siguiente, de forma que
cuando la imprima la salida sea

a)'si me das vuelto me quedaran 67 pesos'
b)'si me das vuelto me quedaran 67.9 pesos'
c)'si me das vuelto me quedaran 68 pesos'
d)'si me das vuelto me quedaran 6.79e+001 pesos'
e)'si me das vuelto me quedaran 6.79e+001            euros'
f)'si me das vuelto me quedaran 000000000006.79e+001 euros'
g)'si me das vuelto me quedaran -65364.987000 euros'
----------------------------------------------------------------------------------------------------------
Ejercicio 2)
sea la variable a='56743' y b='67893'

Crear un script que testee si el primer caracter es un 5 y si es asi
imprima CORRECTO si no es cinco imprima INCORRECTO.

probar el script con a y b, y debe decir  CORRECTO e INCORRECTO cuando
corresponda.

----------------------------------------------------------------------------------------------------------
Ejercicio 3):
Igual que el ejercicio anterior, pero debe imprimir el valor de la
variable 'a' o 'b', que se esta chequeando tanto si es correcto como si
no lo es.
----------------------------------------------------------------------------------------------------------
Ejercicio 4) :
Igual que el ejercicio anterior, pero debe imprimir el valor del primer
caracter solamente de la variable 'a' o 'b' que se esta chequeando tanto
si es correcto como si no lo es.


Título: Re: Ejercicios Python! [Nivel:Principiante]
Publicado por: ^Tifa^ en 7 Enero 2010, 03:19 am
Si fuese con POO

Código
  1.  
  2. #!/usr/bin/python
  3.  
  4. # Ejercicio 2)
  5. #sea la variable a='56743' y b='67893'
  6. #Crear un script que testee si el primer caracter es un 5 y si es asi
  7. #imprima CORRECTO si no es cinco imprima INCORRECTO.
  8. #probar el script con a y b, y debe decir  CORRECTO e INCORRECTO cuando
  9. #corresponda.
  10.  
  11.  
  12. class Numeros:
  13.  def __init__(self, a, b):
  14.    self.a = a
  15.    self.b = b
  16.  
  17. class Herencia(Numeros):
  18.  def Funcion(self):
  19.    if ( self.a[0] == '5' ):
  20.      print "Correcto "
  21.    else:
  22.      print "Incorrecto "
  23.    if ( self.b[0] == '5' ):
  24.      print "Correcto "
  25.    else:
  26.      print "Incorrecto "
  27.  
  28.  
  29. Objeto = Herencia('56743','67893');
  30. Objeto.Funcion()
  31.  
  32.  


Título: Re: Ejercicios Python! [Nivel:Principiante]
Publicado por: kyps en 8 Enero 2010, 17:22 pm
Que es poo?


Título: Re: Ejercicios Python! [Nivel:Principiante]
Publicado por: Novlucker en 8 Enero 2010, 17:28 pm
Poo, programación orientada a objetos
:http://es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_objetos

Es parte de las bondades que tiene Python

Saludos


Título: Re: Ejercicios Python! [Nivel:Principiante]
Publicado por: xyz0k en 8 Abril 2010, 18:41 pm
Hola!

Perdonad por reflotar este tema, pero estoy aprendiendo python, y me surge alguna duda respecto al ejercicio resuelto de la primera respuesta.

Código:
class Ejercicio (Object):
    # Ocultamos las variables
    __slots__ = ['__a', '.__b']

    #Creamos el constructor
     __init__ (self, a, b):
          self.__a = a
          self.__b = b
     # Realizamos el ejercicio
     if self.__a == 5 or self.__b == 5:
          print 'Correcto'
     else: print 'INCORRECTO'

Cuál es la razón por la cual no se ocultan las variables propias de la clase? A mi me han enseñado que hay que hacerlo así, y para obtener u editar algunas de las variables realizar:
Código:
def setVariable (self, Nueva):
      self.__Variable = Nueva
def getVariable (self):
     return self.__Variable

¿Cuál es la causa de utilizar éste modo, o el otro?
¿No habría hecho una herencia innecesaria?

Saludos ;)


Título: Re: Ejercicios Python! [Nivel:Principiante]
Publicado por: Novlucker en 8 Abril 2010, 19:17 pm
Citar
¿Cuál es la causa de utilizar éste modo, o el otro?
¿No habría hecho una herencia innecesaria?
La causa de usar un método u otro es cuestión del programador :xD puede que quieras encapsular y controlar mejor los atributos del objeto, pero puede que no

Y en realidad, si ha hecho una herencia innecesaria y mejor sería hacerlo como tu lo planteas, o incluso tener un método dentro del mismo objeto que se encargue del "calculo"

Saludos




Título: Re: Ejercicios Python! [Nivel:Principiante]
Publicado por: xyz0k en 8 Abril 2010, 19:46 pm
Vale!

Gracias por la aclaración. El viernes que viene tengo el primer examen de python, ya veremos qué tal va..

Saludos y gracias una vez más :D