An open set in $\mathbb{R}$ is a union of balls of rational radius and rational center. Let $X \subseteq \mathbb{R}$ be open. For every rational $q \in X$, let $r_q$ be a rational number such that $B_{r_q}(q) \subset X$.  Then $\bigcup_{q \in X} B_{r_q}(q) \subseteq X$.
I'm having trouble with the reverse inclusion. Any hints?
 A: The reverse inclusion need not hold. Fix an irrational $p\in X$. Pick the $r_q$ small enough so that $p$ is never in $B_{r_q}(q)$. Then $p$ is not in the union of the $B_{r_q}(q)$, so the reverse inclusion does not hold. 
Is is true that $X$ is the union of balls with rational center and rational radius, but perhaps not exactly in the way it is done in the statement of the question. You need not (and perhaps should not) pick $r_q$ that goes with $q$. Rather, take  all balls $B_r(q)\subseteq X$ for which both $r$ and $q$ are rational. Then the union of these balls is indeed $X$. And there are only countably many such balls, even if we allow more that one ball with the same center. 
To prove that $X$ is contained in the union of all balls as described in the previous paragraph, take any $x\in X$ (rational or irrational). Take $\varepsilon>0$ such that $B_\varepsilon(x)\subseteq X$. Take a rational $q$ in $B_{\frac\varepsilon3}(x)$ and a rational $r$ with $\frac\varepsilon3 < r < \frac{2\varepsilon}3$. Then $x\in B_r(q)\subset B_\varepsilon(x)\subseteq X$. So, on one hand, every $x\in X$ is contained in the union of this family of balls, and on the other hand the union of this family of balls is contained in $X$, so it must equal $X$. 
