Então, esse problema se dá pelo simples fato de "5+4 /2 + 5+5 /3" ser diferente de 5+4 /2 + 5+5 /3, em outras palavras, "5+4 /2 + 5+5 /3" é uma string, e não um número, o Python está vendo que você quer converter uma string com caracteres especiais em float, e isso não tem como, por isso ele lança o erro: ValueError: could not convert string to float: '5+4 /2 + 5+5 /3', basicamente ele está dizendo, não posso converter essa string em float, pois ela não é digito. Agora 5+4 /2 + 5+5 /3, (sem aspas) é uma simples conta matemática que é igual a 13.666667, se "13.666667" é uma string agora sim você pode converter a mesma em float, pois o Python verá que é um digito e realizará a conversão.
Como já dito acima, é uma string com caracteres especiais.
Como resolver?!
Existem duas maneiras, uma mais trabalhosa, mas segura; E outra mais fácil, mas perigosa.
No seu caso, a maneira mais fácil, não vai te trazer nenhum risco, basta você usar a função eval(). Adicione o eval() na conversão para float e problema resolvido, observe:
resultadoExpressao = float(eval(stringExpressão)) #Esta linha resolve seu problema.
Obs.: Cuidado com o uso do eval(), é uma função que poderosa, mas que pode ser muito maléfica, segue os link’s com as referência abaixo:
Eval - Documentation
Eval really is dangerous