Given $\epsilon>0$, let $B_n^\epsilon=\{y\in Y:||y-y_n||<\epsilon||y_n||\}$. Then $\bigcup B_n^\epsilon\supset Y\backslash\{0\}$. 
Let $Y$ be a separable Banach space. Let $\{y_n\}_1^\infty$ be a countable dense set in $Y$. Given $\epsilon>0$, let $B_n^\epsilon=\{y\in Y:||y-y_n||<\epsilon||y_n||\}$. Then $\bigcup B_n^\epsilon\supset Y\backslash\{0\}$.

If $\inf\{\epsilon||y_n||\}=d>0$, then it's easy to prove.
Otherwise, let $y\in Y\backslash\{0\}$ with $\vert\vert y||=d>0$.
If $||y-y_n||<\epsilon||y_n||$ we must have $||y||<(1+\epsilon)||y_n||$.
If $\displaystyle||y_n||\le\frac{d}{1+\epsilon}$, then $y\notin B_n^\epsilon$.
So we can just consider the set $A=\{y_n:\;||y_n||>\frac{d}{1+\epsilon}\}$.
I want to show that $y_n\in B(y,r)$, then $||y-y_n||<r\le\epsilon||y_n||$, and the second inequality can hold automatically. But I fail to find a proper $r$. Or my thought cannot work?

Because $\{y_n\}_{n=1}^\infty$ is a countable dense subset, for any $y\in Y$ we can find a subsequence $\{x_n\}$ of $\{y_n\}$ such that $x_n\to y$. Suppose  $\epsilon > 0$ and $
|y\| =d > 0$. We can find some $N$ such that if $n\geq N$, then $\|x_n - y\| < \epsilon d$.
Since $x_n\to y$, we have that  $|\|x_k\| - d| \to 0$ and therefore $$|\epsilon\|x_k\| -\epsilon d  |\to 0$$ For arbitrary $\delta > 0$, we can find $N_\delta$ such that if $n\geq N_\delta$, then $| \epsilon\|x_n\| - \epsilon d| < \delta$. Using triangle inequality, $\epsilon d < \epsilon\|x_n\| + \delta$. Therefore, if $n\geq \max(N,N_\delta)$, we have that \begin{align*}
\|x_n - y\| < \epsilon d < \epsilon\| x_n \| + \delta
\end{align*}
Sending $\delta\to 0$, we get that for sufficiently large $n$, $\|x_n-y\| \leq \epsilon \|x_n\|$.
