def spoken_number(num: str) -> str:
ret = []<EOL>for part in num.split('<STR_LIT:U+0020>'):<EOL><INDENT>if part in FRACTIONS:<EOL><INDENT>ret.append(FRACTIONS[part])<EOL><DEDENT>else:<EOL><INDENT>ret.append('<STR_LIT:U+0020>'.join([NUMBER_REPL[char] for char in part if char in NUMBER_REPL]))<EOL><DEDENT><DEDENT>return '<STR_LIT>'.join(ret)<EOL>
Returns the spoken version of a number

Ex: 1.2 -> one point two
    1 1/2 -> one and one half