Autor
|
Tema: Juego ejercicios [Python] (Leído 27,497 veces)
|
Masita
Desconectado
Mensajes: 114
pythoneando
|
He pensado que podria ser interesante hacer un juego sobre python, como los tipicos que se hacen en foros adivinando peliculas que ya todos conocereis. El juego consistiria en plantear un ejercicio y el resto tendriamos que desarrollar el algoritmo y postearlo. Quien antes mande su algoritmo, propondria un nuevo ejercicio. Deberiamos respetar una curva de aprendizaje donde cada vez los ejercicios fuesen mas complicados o tratasen aspectos diferentes, pero sin saltos excesivamente marcados en su dificultad. Y los ejercicios podrian ser tanto de creacion de algoritmos, depurar un algoritmo ya creado pero que tenga algun fallo o mejorar uno haciendolo mas simple y legible. Cualquier cosa que nos haga pensar y darle vueltas al coco jeje Creo que puede ser bueno para los que empiezan, con esto de la programacion, motivandonos y compartiendo nuestro aprendizaje.  Asi que aqui dejo el primer ejercicio: -Crear un lanzador de tiradas de dados, donde el usuario introduzca el numero de caras y el numero de dados. -Mostrar los resultados ordenados de mayor a menor. PD: Espero que os guste la idea y el post siga adelante. PD2: Creo que este es el subforo al que corresponde este post, si el moderador lo cree conveniente que lo mueva al subforo de scripts. Un saludo y a pythonear! 
|
|
|
|
« Última modificación: 21 Diciembre 2009, 03:13 por Masita »
|
En línea
|
En el cielo estan suspendidas las palabras que cantamos en nuestros sueños....
|
|
|
Blitzkrieg'
Desconectado
Mensajes: 546
print('Hi there')
|
Solo python o tambien se pueden otros lenguajes?
|
|
|
|
|
En línea
|
|
|
|
Masita
Desconectado
Mensajes: 114
pythoneando
|
En principio yo habia pensado hacerlo para python, mas que nada es en lo que me muevo y pienso q sera menos caotico que un ejercicio de cada si lo que se busca es aprender. Siempre se pueden abrir diferentes post para diferentes lenguajes. Y si la idea no marcha pues se cierran..... dios no lo quiera jaja
|
|
|
|
|
En línea
|
En el cielo estan suspendidas las palabras que cantamos en nuestros sueños....
|
|
|
|
|
|
Autodidacta
|
Masita ayudame un poco, voy a intentar hacer este ejercicio ( sabes que estoy empezando que del "Hola mundo" y el de " sacar las potencia de 2" no he echo nada mas). Pero bueno haber que consigo .... mira mi idea es la siguiente voy a utilizar el codigo que me distes para sacar las potencias de 2 Código n = 2 while True: print "por favor introduzca un numero" x = raw_input() try: x = int(x) print "1" while n < x: print n n = n * 2 break except ValueError: print "Eso no es un numero"
Entonces lo que quiero hacer es modificar este trozo del código: x = int(x) print "1" while n < x: print n n = n * 2 y encontrar una formula que haga lo siguiente: ( multiplicar el numero introducido por 36) y que a la ultima cifra del resultado le reste 4 así siempre me dara un resultado + o - de un numero = o - que 6 por su puesto ignoraría que el numero fuera positivo o negativo.. sé que es una chapuza pero esque con lo poquito que sé no doy para mas por el momento. tambien sería un dado un poco trucado porque si siempre introduce el mismo número siermpre daría el mismo resultado. pero por el momento si logro insertar esa formula en el código ese YO me doy por muy satisfecho. -----> sigo aprendiendo.
|
|
|
|
|
En línea
|
Aprende a ver mas allá de tu nariz. 
|
|
|
Masita
Desconectado
Mensajes: 114
pythoneando
|
Ahora no tengo tiempo pero te envio un pm con mi direccion de correo me agregas y mañana te voy guiando para que lo hagas tu mismo. Si quieres mirar hasta entonces busca informacion sobre la libreria random o si dominas ingles escribe en tu sesion de python help(random).
Un saludo y feliz año nuevo!!
|
|
|
|
|
En línea
|
En el cielo estan suspendidas las palabras que cantamos en nuestros sueños....
|
|
|
|
Autodidacta
|
He logrado hacer esto: import random for i in range(1): x = random.randint(1, 6) print "dado1" print x for i in range(1): x = random.randint(1, 6) print "dado2" print x
me devuelve este resultado : autodidacta@autodidacta-laptop:~$ python dados.py dado1 2 dado2 1
|
|
|
|
|
En línea
|
Aprende a ver mas allá de tu nariz. 
|
|
|
|
Autodidacta
|
Solo me falta ordenar los resultados Código:n = input("introduzca numero de dados: ") a = input("introduzca numero de caras: ") import random for i in range(n): x = random.randint(1, a) print "dado" print x
Resultado:autodidacta@autodidacta-laptop:~$ python ejercicio1.py introduzca numero de dados: 3 introduzca numero de caras: 9 dado 2 dado 4 dado 8

|
|
|
|
« Última modificación: 1 Enero 2010, 17:06 por Autodidacta »
|
En línea
|
Aprende a ver mas allá de tu nariz. 
|
|
|
Masita
Desconectado
Mensajes: 114
pythoneando
|
Veo que vas avanzando poco a poco, ahora trata de que siempre te de los resultados de los dados imprimiendo primero el mayor y el ultimo el menor de los resultados y ya lo tendras. 
|
|
|
|
|
En línea
|
En el cielo estan suspendidas las palabras que cantamos en nuestros sueños....
|
|
|
CaronteGold
Desconectado
Mensajes: 337
|
import random a = input("Número de caras") b = input("Número de dados") for i in range (b): c = random.randint(1,(a)) print "Dado:",+c raw_input() Llegué a lo mismo pero no encuentro la forma de ordenar :S.
|
|
|
|
|
En línea
|
|
|
|
Masita
Desconectado
Mensajes: 114
pythoneando
|
Os dejo que os comais un poco la cabeza antes de daros alguna pista... 
|
|
|
|
|
En línea
|
En el cielo estan suspendidas las palabras que cantamos en nuestros sueños....
|
|
|
Leo Gutiérrez.
. . .. ... ..... ........ ............. .....................
Colaborador
 
Desconectado
Mensajes: 2.938
/^$/
|
import random a = input("Número de caras") b = input("Número de dados") for i in range (b): c = random.randint(1,(a)) print "Dado:",+c raw_input() Llegué a lo mismo pero no encuentro la forma de ordenar :S. Mete todo en una lista y ordenala por el algoritmo de la burbuja, voy a ver si puedo resolverlo.
|
|
|
|
« Última modificación: 1 Enero 2010, 20:05 por Leo Gutierrez. »
|
En línea
|
|
|
|
CaronteGold
Desconectado
Mensajes: 337
|
import random a = input("Número de caras") b = input("Número de dados") for i in range (b): c = random.randint(1,(a)) print "Dado:",+c raw_input() Llegué a lo mismo pero no encuentro la forma de ordenar :S. Mete todo en una lista y ordenala por el algoritmo de la burbuja, voy a ver si puedo resolverlo. Tengo que irme ahora mismo, pero en cuanto llegué intentaré eso, lo de la burbuja lo encontré buscando en varias webs, también vi más algoritmos pero no supe cual usar. Saludos y gracias.
|
|
|
|
|
En línea
|
|
|
|
Novlucker
Ninja y
Ex-Staff
Desconectado
Mensajes: 10.225
Yo que tu lo pienso dos veces
|
Los diferentes métodos de ordenación tienen diferentes enfoques y/o ventajas, pero tampoco es que sean TAN diferentes unos de otros. El de la burbuja es el "tradicional" (por decirle de algún modo) y más usado. Leo, seguro que en un rato lo tienes resuelto y verás que poco varia de otros lenguajes  (obviamente el concepto no cambia, sigue siendo el mismo) 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
|
|
|
Leo Gutiérrez.
. . .. ... ..... ........ ............. .....................
Colaborador
 
Desconectado
Mensajes: 2.938
/^$/
|
#!/usr/bin/env python import random a = input("Numero de caras : ") b = input("Numero de dados : ") lista = [] for i in range(b): c = random.randint(1, (a)) print "Dado : ", c lista.append(c) for elemento in lista: print elemento # Burbuja for i in range(0, len(lista)): for j in range(0, len(lista)): if lista[i] > lista[j]: auxiliar = lista[i] lista[i] = lista[j] lista[j] = auxiliar for elemento in lista: print elemento leo@lein:~/Escritorio$ python py.py Numero de caras : 10 Numero de dados : 10 Dado : 3 Dado : 9 Dado : 3 Dado : 6 Dado : 8 Dado : 4 Dado : 8 Dado : 7 Dado : 1 Dado : 1 [3, 9, 3, 6, 8, 4, 8, 7, 1, 1] [9, 8, 8, 7, 6, 4, 3, 3, 1, 1] leo@lein:~/Escritorio$
lista.sort() print lista
Ya está, no sabía como obtener la longitud de la lista. 
|
|
|
|
« Última modificación: 1 Enero 2010, 20:48 por Leo Gutierrez. »
|
En línea
|
|
|
|
|
|