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)