Как отделить рубли от копеек?
price = input()
r, c = (list(map(int, price.split('.'))) + [0])[:2]
а регекспы тут действительно ни к чему. По крайней мере не для таких простых случаев они.
А в чём проблема?
Вы и так сделали всё верно. Хоть и не оптимально.
Копейки на 100 умножьте.