This is my pillow
///, 116 bytes
/a/\\\\\\\\\\\\\\\///b/\\\\\\\\\\\\\\\\//A/aaaaa//B/bbbbb//C/ABABABABABAB
//D/BABABABABABA
/CCCCDDDDCCCCDDDDCCCCDDDD
Try it online!
Edit: the \\\\\\\\\\\\\\\/
and \\\\\\\\\\\\\\\\
are actually a single / and \, respectively.
Edit: -3 because I thought of removing i
. I think this can't be further golfed.
05AB1E, 18 15 bytes
Code:
„/\5×{4Å6×»6F=R
Explanation:
„/\ # Push the string "/\"
5× # Repeat 5 times: "/\/\/\/\/\"
{ # Sort, resulting in: "/////\\\\\"
4Å6 # Create a list of 6's with length 4: [6, 6, 6, 6]
× # Vectorized string multiplication
» # Join by newlines
6F # Do the following six times..
= # Print with a newline without popping
R # Reverse the string
Uses the CP-1252 encoding. Try it online!
Python 2, 49 bytes
b,a='\/';exec("print(a*5+b*5)*6;"*4+"a,b=b,a;")*6
Thanks to Mitch Schwartz for this clean method that saves a byte. The idea is to print four lines of ('\\'*5+'/'*5)*6
, swap the roles of slash and backslash, and then do that whole process 6 times. The two characters are stored in a
and b
, and swapped as a,b=b,a
. The double-loop is double by generating the following code string, then executing it with exec
:
print(a*5+b*5)*6;print(a*5+b*5)*6;print(a*5+b*5)*6;print(a*5+b*5)*6;a,b=b,a;print(a*5+b*5)*6;print(a*5+b*5)*6;print(a*5+b*5)*6;print(a*5+b*5)*6;a,b=b,a;print(a*5+b*5)*6;print(a*5+b*5)*6;print(a*5+b*5)*6;print(a*5+b*5)*6;a,b=b,a;print(a*5+b*5)*6;print(a*5+b*5)*6;print(a*5+b*5)*6;print(a*5+b*5)*6;a,b=b,a;print(a*5+b*5)*6;print(a*5+b*5)*6;print(a*5+b*5)*6;print(a*5+b*5)*6;a,b=b,a;print(a*5+b*5)*6;print(a*5+b*5)*6;print(a*5+b*5)*6;print(a*5+b*5)*6;a,b=b,a;
50 bytes:
s='/'*5+'\\'*5;exec("print s*6;"*4+"s=s[::-1];")*6
Makes the line string, prints it four times and then reverses it, then does that 6 times. Does so by generating the following code, then executing it:
print s*6;print s*6;print s*6;print s*6;s=s[::-1];print s*6;print s*6;print s*6;print s*6;s=s[::-1];print s*6;print s*6;print s*6;print s*6;s=s[::-1];print s*6;print s*6;print s*6;print s*6;s=s[::-1];print s*6;print s*6;print s*6;print s*6;s=s[::-1];print s*6;print s*6;print s*6;print s*6;s=s[::-1]
Here are some of the iterations of my golfing:
for c in([1]*4+[-1]*4)*3:print('/'*5+'\\'*5)[::c]*6
for i in range(24):print('/\\'*5+'\/'*5)[i/4%2::2]*6
for c in range(24):print('\\'*5+'/'*5)[::(c&4)/2-1]*6
for i in range(24):print('/'*5+'\\'*5)[::1-i/4%2*2]*6
for c in([1]*4+[0]*4)*3:print('\/'*5+'/\\'*5)[c::2]*6
for c in([1]*4+[0]*4)*3:print('\/'[c]*5+'/\\'[c]*5)*6
for c in(['/\\']*4+['\/']*4)*3:print(c[0]*5+c[1]*5)*6
for c in([5]*4+[-5]*4)*3:print('/'*c+'\\'*5+'/'*-c)*6
print((('/'*5+'\\'*5)*6+'\n')*4+(('\\'*5+'/'*5)*6+'\n')*4)*3
for x in(['/'*5+'\\'*5]*4+['\\'*5+'/'*5]*4)*3:print x*6
a='/'*5;b='\\'*5
for x in([a+b]*4+[b+a]*4)*3:print x*6
s='/'*5+'\\'*5
for x in([s]*4+[s[::-1]]*4)*3:print x*6
s=('/'*5+'\\'*5)*9
exec("print s[:60];"*4+"s=s[5:];")*6
a='/'*5;b='\\'*5
for i in range(24):print[a+b,b+a][i/4%2]*6