Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales
Autor
|
Tema: Juego ejercicios [Python] (Leído 30,526 veces)
|
Masita
Desconectado
Mensajes: 114
pythoneando
|
Faltaria imprimir independientemente cada valor de la lista. Ya que asi te imprime la lista completa con los corchetes y demas. Pero basicamente es asi. Con lo cual miniputo y punto para Leo!  Otra forma de hacerlo era con el metodo "sort". Dejo un codigo de ejemplo: import random indice = 0 resultados=[] contador=0 dados = int(raw_input('Elija numero de dados:')) caras = int(raw_input('Elija numero de caras:')) #genera las tiradas while indice < dados: x=random.randint(1,caras) resultados.append(x) indice = indice+1 #ordena la lista resultados.sort() #imprime los resultados for x in range(len(resultados)-1,-1,-1): print resultados[x]
|
|
|
|
|
En línea
|
En el cielo estan suspendidas las palabras que cantamos en nuestros sueños....
|
|
|
Novlucker
Ninja y
Ex-Staff
Desconectado
Mensajes: 10.239
Yo que tu lo pienso dos veces
|
La verdad que algunos métodos que trae python facilitan mucho las cosas, como el sort  Por cierto, las listas se pueden recorrer sin recurrir a otras variables  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
|
|
|
|
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD http://twitter.com/novlucker "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
Masita
Desconectado
Mensajes: 114
pythoneando
|
Pero en ese caso imprimiria de menor a mayor. De todos modos se que puedes ordenar las listas segun lo que quieras, añadiendo algun parametro a sort(). Tendre que indagar en ello
|
|
|
|
« Última modificación: 1 Enero 2010, 21:03 por Masita »
|
En línea
|
En el cielo estan suspendidas las palabras que cantamos en nuestros sueños....
|
|
|
Novlucker
Ninja y
Ex-Staff
Desconectado
Mensajes: 10.239
Yo que tu lo pienso dos veces
|
Estamos en ejercicios, así que lo suyo sería discutir las funciones en scripting, pero el método sort acepta parámetros  Tiradas.sort(key=None,reverse=True) Y sino la otra manera ... Tiradas.sort() Tiradas.reverse() 
|
|
|
|
« Última modificación: 1 Enero 2010, 21:12 por Novlucker »
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD http://twitter.com/novlucker "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
Leo Gutiérrez.
. . .. ... ..... ........ ............. .....................
Colaborador
 
Desconectado
Mensajes: 2.968
/^$/
|
Bueno, me toca proponer el ejercicio -Apartir de una clase llamada Rectangulo, obtener el area y perimetro(métodos). Aprovecho para preguntar, ¿hay alguna forma de hacer un bucle mientras no me den un valor númerico? Apartir del código de Novlucker: try: base = int(input("Base : ")) altura = int(input("Altura : ")) except: print "Uno de los valores no es numerico"
|
|
|
|
« Última modificación: 1 Enero 2010, 22:13 por Leo Gutierrez. »
|
En línea
|
|
|
|
Novlucker
Ninja y
Ex-Staff
Desconectado
Mensajes: 10.239
Yo que tu lo pienso dos veces
|
Dejo este y ya no participo hasta bien no suba un poquito el nivel, así quienes responden son los que estan comenzando con python  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
|
|
|
|
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD http://twitter.com/novlucker "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
Masita
Desconectado
Mensajes: 114
pythoneando
|
Te me adelantaste  Espero tu ejercicio Novlucker 
|
|
|
|
|
En línea
|
En el cielo estan suspendidas las palabras que cantamos en nuestros sueños....
|
|
|
Novlucker
Ninja y
Ex-Staff
Desconectado
Mensajes: 10.239
Yo que tu lo pienso dos veces
|
Leodef 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  Saludos P.D: creo que todos menos yo usan Python 2.6, así que recordar modificar los input
|
|
|
|
« Última modificación: 1 Enero 2010, 22:38 por Novlucker »
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD http://twitter.com/novlucker "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
Leo Gutiérrez.
. . .. ... ..... ........ ............. .....................
Colaborador
 
Desconectado
Mensajes: 2.968
/^$/
|
#!/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í: class RectanguloComplejo(Rectangulo): pass def Diagonal(self): return sqrt((self.base * self.base) + (self.altura * self.altura))
|
|
|
|
« Última modificación: 1 Enero 2010, 22:50 por Leo Gutierrez. »
|
En línea
|
|
|
|
Masita
Desconectado
Mensajes: 114
pythoneando
|
Se me olvido la raiz....
|
|
|
|
« Última modificación: 1 Enero 2010, 22:52 por Masita »
|
En línea
|
En el cielo estan suspendidas las palabras que cantamos en nuestros sueños....
|
|
|
Novlucker
Ninja y
Ex-Staff
Desconectado
Mensajes: 10.239
Yo que tu lo pienso dos veces
|
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 Masita, Pitágoras!, eso no es la diagonal  EditoLeo, eso mismo que has hecho en la modificación era lo que se pedía  , eso si, quita el PASS, eso se usa para decir "aquí no hay nada"
|
|
|
|
« Última modificación: 1 Enero 2010, 22:59 por Novlucker »
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD http://twitter.com/novlucker "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
Leo Gutiérrez.
. . .. ... ..... ........ ............. .....................
Colaborador
 
Desconectado
Mensajes: 2.968
/^$/
|
A ver, fijate ahora en mi último edit del mensaje anterior, a ver si era así. #!/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()
|
|
|
|
« Última modificación: 1 Enero 2010, 23:00 por Leo Gutierrez. »
|
En línea
|
|
|
|
Novlucker
Ninja y
Ex-Staff
Desconectado
Mensajes: 10.239
Yo que tu lo pienso dos veces
|
Eso mismo, solo quita el pass, pero se da por bueno. Siguiente ejercicio! 
|
|
|
|
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD http://twitter.com/novlucker "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
Leo Gutiérrez.
. . .. ... ..... ........ ............. .....................
Colaborador
 
Desconectado
Mensajes: 2.968
/^$/
|
Bien.  El ejercicio para ustedes es : Llenar una lista de tamaño n de números primos.
|
|
|
|
|
En línea
|
|
|
|
|
Autodidacta
|
ofuu, habeis subido unos cuantos de escalones  , 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..
|
|
|
|
|
En línea
|
Aprende a ver mas allá de tu nariz. 
|
|
|
|
|