Skip to main content
1 of 3

Python3.6, 709 bytes

First attempt at code-golf, adopting @uriel's answer to include compression of the string

import zlib,base64 as b
for x in zlib.decompress(b.b64decode(b'eNpVUsuO2zAM/BWuYSAXw79Qpz20uXQPTbFnJWIkNba40AOB+/Udym7TvVnkkJyHz55JiudE1qxD\nf6KFCxm6sElDfySX2BS6BLdXXj09zEpSC+kQj9M3plnkzpYAXFhXPN8+LEMPRA6/UajvO+DfE/22\nIZtgqUhrd29+JSvxUGiVSqnGTzrC3J4moDH0XwUs40quxrGb0DZr1gXtYHf2phwyZDgRS8GyGbu+\n+y4PmtllcpDoJEQ39Pq5cNMjN1JFL910jJay0ImSiTBBBd+SLJviof8McArOwxf2AVhl/WZw36tX\n8GmcTlFHYtuq7bOOwjolVRLzR2+3Crx1s6QVK14mDMDHB2cgQOPq9xOMxQzS9X3ofyjH4qUql9PB\n0q+6oKz0S6qYXFaa6/U+PhUpgi0yiDALeuBn2hQh+ZAzYtlU7DePLW4ktaetHj6zuSUu273/a/KI\nGvIX03h9WPca21HdeTHXO8YeUbWGTCG3Fkf71y1EXSjipxB1/WecOWdqf4IidqtJ4pUbZPwDdrft\noQ==\n')).decode('ansi').split('@'):z=x.split('$');print(*(y+'\n'+y for y in z),'',*z,'',sep='\n')

Compression

make one big bytes, seperating lines in a verse by $ and verses by @

begin_s = """The other day,','I met a bear,','A great big bear,','Oh way out there.'],['He looked at me,','I looked at him,','He sized up me,','I sized up him.'],['He said to me,','"Why don\'t you run?',"I see you ain't,",'Got any gun."'],['I says to him,','"That\'s a good idea."','"Now legs get going,','get me out of here!"'],['And so I ran,','Away from there,','But right behind me,','Was that bear.'],['In front of me,','There was a tree,','A great big tree,','Oh glory be!'],['The lowest branch,','Was ten feet up,',"So I thought I'd jump,",'And trust my luck.'],['And so I jumped,','Into the air,','But I missed that branch,','A way up there.'],["Now don't you fret,","And don't you frown,",'I Caught that branch,','On the way back down!'],['This is the end,','There aint no more,','Unless I see,','That bear once more."""
new_s = begin_s.replace("','","$").replace('","',"$").replace("',\"","$").replace("\",'","$").replace("'],['",'@').replace("\"],['",'@').replace("'],[\"",'@').encode('ansi')

gives

b'The other day,$I met a bear,$A great big bear,$Oh way out there.@He looked at me,$I looked at him,$He sized up me,$I sized up him.@He said to me,$"Why don\'t you run?$I see you ain\'t,$Got any gun."@I says to him,$"That\'s a good idea."$"Now legs get going,$get me out of here!"@And so I ran,$Away from there,$But right behind me,$Was that bear.@In front of me,$There was a tree,$A great big tree,$Oh glory be!@The lowest branch,$Was ten feet up,$So I thought I\'d jump,$And trust my luck.@And so I jumped,$Into the air,$But I missed that branch,$A way up there.@Now don\'t you fret,$And don\'t you frown,$I Caught that branch,$On the way back down!@This is the end,$There aint no more,$Unless I see,$That bear once more.'

then compress this with zlib

b.b64encode(zlib.compress(new_s, level=9))

I tried other algorithms, but this seemed smallest

original 715
lzma     500 677
zlib     400 544
bz2      436 592

lists the len of the resulting bytes after compression and then after conversion to base64

answer's length

I find 2 conflicting lengths when I do len on a string of this code in python, I get 698, but notepad++ says 708 (+1 newline)