Autor
|
Tema: Mini Reto Python. Dibujar rombo ~ (Leído 29,800 veces)
|
Dnk!
|
Se debe realizar una funcion en python el cual dibuje un rombo de asteriscos "*". Se le debe pasar por parametro el numero de lineas. Debiera quedar mas o menos asi: Espero se animen. xDnk!
|
|
|
En línea
|
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
Esos son 9 niveles? Alcanza hacerlo con asteriscos o hay que utilizar alguna librería gráfica?
Saludos
|
|
|
En línea
|
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
|
|
|
Dnk!
|
Si, son nueve niveles, pero recuerda el numero de lineas se pasa por parametro, asi que no importa, mientras graficamente ser parezca a la imagen. Unicamente con el uso de asteriscos.
Saludos.
|
|
|
En línea
|
|
|
|
n1co
Desconectado
Mensajes: 15
|
Buenas muchachos, he hecho el reto! publico a ver que tul, ''' Created on 01/12/2010 @author: nicolas ''' import sys def es_par(numero): return (numero % 2 == 0) def dibujar_rombo(lineas): lineas = int(lineas) if es_par(lineas): print 'El numero de lineas es par, no puedo escribir un rombo perfecto' else: espacios = int(lineas / 2) disminuyo = False cantidad = 1 str = '' for i in xrange(lineas): for n in xrange(espacios): str += ' ' for n in xrange(cantidad): str += '*' print str if len(str) == lineas: disminuyo = True if disminuyo: cantidad -= 2 espacios += 1 else: cantidad += 2 espacios -= 1 str = '' if __name__ == '__main__': dibujar_rombo(sys.argv[1]) #dibujar_rombo(9)
Saludos..
|
|
|
En línea
|
|
|
|
Dnk!
|
Ya no queria ser yo el primero, y visto que n1co ya posteo el suyo, ahora me toca a mi. def imprimirRombo(n): n = n//2 for i in range(n,0,-1): for j in range(n,(n-(i+1)),-1): print '', for k in range(i+1,n+1): print '*', print for i in range(0,n): for j in range(n,(n-(i+1)),-1): print '', for k in range(i+1,n+1): print '*', print imprimirRombo(10)
Mientras me miro tu code n1co. xDnk!
|
|
|
En línea
|
|
|
|
n1co
Desconectado
Mensajes: 15
|
mmm nuestros scripts hacen cosas difetenes, puesto que tu pusiste el ejercicio yo tal vez no comprendi del todo. Te daras cuenta que el numero que recibo por parametro es el numero de lineas del rombo, cosa que en el tuyo no se cumple segun lo que acabo de probar, y otra cosa es que para los numeros pares no escribo el rombo ya que no seria perfecto, pero al ver tu script veo que se podia hacer de otra forma y quedaba bien
|
|
|
En línea
|
|
|
|
Dnk!
|
Si, es verdad, si le paso por ejemplo 10, se traga una linea, que la muestra en blanco.
|
|
|
En línea
|
|
|
|
n1co
Desconectado
Mensajes: 15
|
y si le pasas un impar te lo hace en dos lineas menos pero bueno es otra forma de hacerlo, si te das cuenta en mi ejemplo el numero por parametro coincide tambien con el lado mas largo del rombo
|
|
|
En línea
|
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
Yo tengo esto def imprime(n): if not n%2: print 'El numero de lineas es par, no puedo escribir un rombo perfecto' else: l = [[' ' for x in range(n)] for z in range(n/2+1)] for e in range(n): for i in range(e,n-e): l[e][i] = '*' l = l[:0:-1]+l for i in l: print ' '.join(i) imprime(11)
Saludos
|
|
« Última modificación: 2 Diciembre 2010, 02:45 am por Novlucker »
|
En línea
|
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
|
|
|
n1co
Desconectado
Mensajes: 15
|
Yo tengo esto def imprime(n): if not n%2: print 'El numero de lineas es par, no puedo escribir un rombo perfecto' else: l = [[' ' for x in range(n)] for z in range(n/2+1)] for e in range(n): for i in range(e,n-e): l[e][i] = '*' l = l[:0:-1]+l for i in l: print ''.join(i) imprime(11)
Saludos jajajaj hay una parte de ahi que me parece conocida... muy bueno, ya me voy a dormir mañana lo pruebo
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
[Python]3 en raya y mini proyecto.
Scripting
|
braulio--
|
2
|
9,864
|
4 Junio 2018, 23:22 pm
por tincopasan
|
|
|
[Python] Ayuda con mini troyano
Python
|
.:Swik:.
|
3
|
5,884
|
7 Junio 2010, 22:09 pm
por Debci
|
|
|
Reto/Juego Ejercicios en Python
« 1 2 3 4 5 »
Ejercicios
|
Novlucker
|
47
|
35,692
|
20 Diciembre 2010, 06:47 am
por [L]ord [R]NA
|
|
|
Reto: Números primos en python
Ejercicios
|
Novlucker
|
6
|
10,467
|
24 Noviembre 2010, 16:02 pm
por Novlucker
|
|
|
[RETO+Python] Buscando rangos
« 1 2 »
Scripting
|
Novlucker
|
13
|
8,192
|
31 Enero 2011, 18:30 pm
por Karcrack
|
|