dibujar triangulo [avanzado]

''' triangulo avanzado (idea) _________ ***** ***** \*******/ *** *** *** \*****/ * * * \***/ \*/ __author Daniel Vega __fecha 27/04*2017 ''' def decorar(lista,decoracion=""): return decoracion.join(lista) ''' el join lo utilizo para que no se vean los corchetes del array ni las comillas: /['*']\ /['*', '*', '*']\ mas informacion acerca de join : http://www.tutorialspoint.com/python/string_join.htm''' def decorar_espaciado(lista): tamaño = len(lista)-1 # le resto 1 porque len no empieza a contar desde el 0 sino desde el 1 espaciado = " "*tamaño # (" "*tamaño) es una forma facil de agregar una cantidad de caracteres iguales i = 0 #lo empiezo desde cero para que valla moviendo el array desde el primer indice. #la razon de reversed era para calcular el expaciado maximo :P y asi irlo disminuyendo. for x in reversed(range(tamaño)): lista[i] = "{0}{1}".format(espaciado[0:x+1],lista[i]) i += 1 return lista def triangulo(tamaño): diseño_linea = "-"*(tamaño+2)#el +2 es por las dos decoraciones que se encontraran a los lados "\","/" diseño_interno = [] diseño_interno.append(['*']*(tamaño+2)) #lo hice asi para evitar un for inecesario (ami parecer) diseño_lados = [chr(92),'/'] #chr(92) es "\" agregar = [] #la razon de colocar diseño_interno[0] esporque en el se encuentran todos los caracteres :P y luego van apareciendo con diseño_interno[0][0:x] for x in range(len(diseño_interno[0])): decorado = decorar(diseño_interno[0][0:x]) if(x % 2 !=0): agregar.append("{0}{1}{2}".format(diseño_lados[1],decorado,diseño_lados[0])) b = decorar_espaciado(agregar) final = decorar(b,"\n") #si no hago salto de linea salen juntas :'c print("{0}\n{1}".format(final,diseño_linea)) try: pregunta = int(input("por favor introduzca la cantidad de caracteres maximos que desea:")) if(pregunta %2 !=0): triangulo(pregunta) else: print("lo siento pero nuestros duendes solo saben trabajar con numeros impares.".capitalize()) except: print("ha habido un error , nuestros duendes de la decoracion esta dumiendo .quizas porque no agregaste un caracter valido.")
espero que les guste :D

Be the first to comment

You can use [html][/html], [css][/css], [php][/php] and more to embed the code. Urls are automatically hyperlinked. Line breaks and paragraphs are automatically generated.