Print a flag in as little lines as possible!

3

Just for fun, I wanted to see how little lines I could solve this problem in, using python. I managed to condense my code into 9 lines.

size = int(input("Size: "))
a = [x for x in range(size-2, -1, -1)] if size % 2 == 0 else [x for x 
in range(size-2, 0, -1)]
b, counter = a[::-1], 0
print("\n"+"\\"+"#"*size+"/") #top
for i in a[::2]: print("#"+" "*counter+"\\"+" "*i +"/"+ " "*counter+ 
"#"); counter += 1 
if size % 2 != 0: print("#"+" "*counter+"X"+ " "*counter+ "#")
counter = int((size-2)/2)
for i in b[::2]: print("#"+" "*counter+"/"+" "*i +"\\"+ " "*counter+ 
"#"); counter -= 1
print("/"+"#"*size+"\\"+"\n") #bottom
as you can probably tell by the output the code is meant to produce 
flags based on an integer from the user

with even number flags looking like this

\####/
#\  /#
# \/ #
# /\ #
#/  \#
/####\

and odd number flags looking like this, with the cross in the middle

\#####/
#\   /#
# \ / #
#  X  #
# / \ #
#/   \#
/#####\

I just wanted to see if anyone else could beat me, one of my classmates did it in four lines. Good luck :)

code with the least number of lines and bytes wins!

james jake

Posted 2017-12-18T08:08:15.247

Reputation: 39

Question was closed 2017-12-18T08:37:55.653

2Hi, Since this is programming challenges, you need a winning criteria explicitly stated. The easiest would be code-golf and at the end of the problem add the the statement The shortest code in bytes for each language wins. Because in it's current state the community will most likely vote to close your problem. – LiefdeWen – 2017-12-18T08:13:53.897

3Also limiting solutions to only one language is also a bad idea, maybe remove the python only requirement, someone is sure to answer in python anyway – LiefdeWen – 2017-12-18T08:15:23.580

4Note that "fewest number of lines" is not a good winning criterion, as most languages can easily put their whole code in one line. Even in python you can simply write exec"code" to get everything in one line. – Laikoni – 2017-12-18T08:28:35.760

Sandbox can be a great place to bounce ideas off of: https://codegolf.meta.stackexchange.com/questions/2140/sandbox-for-proposed-challenges/

– Neil – 2017-12-18T08:38:25.360

This isn't an exact duplicate. This one only has # at the edge with spaces in the open areas while the other one is filled with #. It's not different enough for me cast a reopen vote though, especially while it's still restricted to python. Also it should say "least bytes." "lines and bytes" is two conflicting criteria. – Level River St – 2017-12-18T12:20:22.297

@LevelRiverSt Could it be turned into a tips question? – Arnauld – 2017-12-18T13:13:47.627

No answers