Там опечатка, я собирался в знаменателе поставить

.
Тогда все в порядке. Действительно, во-первых,
![$f((0;1/\pi])$ $f((0;1/\pi])$](https://dxdy-04.korotkov.co.uk/f/b/6/9/b69c32575f4d435ab1212b0da212c49682.png)
есть промежуток как непрерывный образ промежутка. Во-вторых, числитель меняется в отрезке
![$[-1, 1]$ $[-1, 1]$](https://dxdy-01.korotkov.co.uk/f/4/3/c/43ca5ad9e1f094a31392f860ef481e5c82.png)
, а знаменатель всюду больше единицы, так что при любом

выполняется

. С другой стороны, последовательность

такая, что

, отображается в сходящуюся к единице

, то же касается минус единицы. Таким образом, будут сколь угодно близкие к

и

значения функции. Эрго,
![$f((0;1/\pi])=(-1, 1)$ $f((0;1/\pi])=(-1, 1)$](https://dxdy-03.korotkov.co.uk/f/e/3/8/e38a939aeb56a3368c7b80d1c3c8799082.png)
.
Да, насчет компактности. На самом деле можно взять

и интервалом, и полуинтервалом - замкнутые на нем множества в общем случае не будут компактны. Например, для

полуинтервал
![$(0, 1]$ $(0, 1]$](https://dxdy-02.korotkov.co.uk/f/9/d/f/9df6b91c7d6cd45f445b4b4480294a5e82.png)
замкнут, но не компактен. Нельзя только взять

отрезком.