А надо нечто вроде лесенки Кантора замутить.
Та же мысль приходила, но смутился не всюду определённостью возникающей функции, в лемму Цорна меня понесло ...
А ведь и не нужна она (хотя и можно было) на последнем этапе.
В общем так.
Для начала положим

для
![$x\in [0;\frac{1}{3}]$ $x\in [0;\frac{1}{3}]$](https://dxdy-04.korotkov.co.uk/f/f/c/6/fc6d4a476e7bca5b7b95e2fa31fe253e82.png)
и

для
![$x\in [\frac{2}{3};1]$ $x\in [\frac{2}{3};1]$](https://dxdy-01.korotkov.co.uk/f/c/9/1/c9168713ed1dadd2c92f883fb97dbdd582.png)
Все рациональные из

расположим в последовательность

Полагаем

для
![$x\in [\frac{4}{9};\frac{5}{9}]$ $x\in [\frac{4}{9};\frac{5}{9}]$](https://dxdy-04.korotkov.co.uk/f/b/7/e/b7eab15b91dee000534a720e54703fa382.png)
...
Пусть уже определёны отрезки, на которых

Берём

, находим среди

ближайщего соседа слева

и справа

и соответствующие им отрезки
![$[a_l, b_l]$ $[a_l, b_l]$](https://dxdy-01.korotkov.co.uk/f/0/1/c/01c4670728c67e8421e1c32250e9a96582.png)
и
![$[a_r, b_r]$ $[a_r, b_r]$](https://dxdy-01.korotkov.co.uk/f/0/a/b/0ab14c4f1c8f605f02127f8d70cc2b6c82.png)
, на которых функция уже имеет значения

и

соответственно. Полагаем

на средней трети отрезка
![$[b_l, a_r]$ $[b_l, a_r]$](https://dxdy-03.korotkov.co.uk/f/6/a/3/6a33987055a6563ee2470933927b5e7382.png)
.
Ясно, что полученная функция монотонна и каждое рациональное значение достигается несчётное число раз. Осталось лишь её доопределить до всюду определённой (здесь я чегой-то и засмущался).
Просто полагаем

в точке

, где функция осталась неопределённой.