Problems in Theorem 2.43 of baby Rudin 
Theorem 2.43 Let $P$ be a nonempty perfect set in $\mathbb{R}^k$. Then $P$ is uncountable.
Proof  Since $P$ has limit points, $P$ must be infinite. Suppose $P$ is countable, and denote the points of $P$ by $\mathbf{x_1}, \mathbf{x_2}, \mathbf{x_3}, \ldots$. We shall construct a sequence $\{V_{n}\}$ of neighborhoods as follows.
Let $V_1$ be any neighborhood of $\mathbf{x_1}$. If $V_1$ consists of all $y\in \mathbb{R}^k$ such that $|y−x_1|<r$, the closure $\overline{V_1}$ of $V_1$ is the set of all $y\in \mathbb{R}^k$ such that $|y−x_1|≤r$.
Suppose $V_n$ has been constructed, so that $V_n\cap P$ is not empty. Since every point of $P$ is a limit point of $P$, there is a neighborhood $V_{n+1}$ such that (i) $\overline{V_{n+1}} \subset V_n$, (ii) $x_n\notin \overline{V_{n+1}}$, (iii) $V_{n+1}\cap P$ is not empty. By (iii), $V_{n+1}$ satisfies our induction hypothesis, and the construction can proceed.
Put $K_n=\overline{V_n}\cap P$. Since $\overline{V_n}$ is closed and bounded, $\overline{V_n}$ is compact. Since $\mathbf{x_{n}}\notin K_{n+1}$, no point of $P$ lies in $\cap_1^\infty K_n$. Since $K_{n}\subset P$, this implies that $\cap_1^\infty K_n$ is empty. But each $K_n$ is nonempty, by (iii), and $K_n\supset K_{n+1}$, by (i); this contradicts the Corollary to Theorem 2.36.

I have not been able to understand third paragraph of Walter's proof. I would like to understand why the neighborhood $V_{n+1}$ exists with properties (i),(ii) and (iii), using only the previous definitions and theorems of the Book.
 A: For the 3rd paragraph:
$V_n = N_{\epsilon_n}(p_n)$ some $p_n \in P, \epsilon_n > 0$. $\exists$ infinitely many elements of $P$ in $V_n$, so pick one $p_{n+1}$ that is not equal to $x_n$ or $p_n$. Let $\epsilon=d(p_n, p_{n+1})$, $\epsilon'=d(p_{n+1}, x_n)$, $\epsilon''=\epsilon_n-\epsilon>0$. Choose $\epsilon_{n+1} < \min\left\{\epsilon, \epsilon', \epsilon''\right\}$, then:


*

*$d(x_n, p_{n+1}) > \epsilon_{n+1}$ so certainly $x_n \not\in \overline{V}_{n+1}$

*if $d(e, p_{n+1}) \leq \epsilon_{n+1}$ then $$\begin{align}d(e,p_n) &\leq d(e,p_{n+1}) + d(p_n, p_{n+1}) \\ &\leq \epsilon_{n+1} + \epsilon \\ &< (\epsilon_n - \epsilon) + \epsilon = \epsilon_n\end{align}$$ so $\overline{V}_{n+1} \subset V_n$.

*$p_{n+1} \in V_{n+1} \cap P$ so intersection is non-empty.

A: I explain why there is a neighborhood $V_n$ satisfying (i), (ii) and (iii). We know that $P$ is perfect. That is, every point in $P$ is a limit point of $P$. Especially, $x_n$ is a limit point of $P$ so every neighborhood $V$ of $x_n$ contains a point in $P$ differ from $x_n$. Let it say $y$.
You can take a neighborhood $W = B(y, \rho)$ of $x_{n+1}$ which is not contain $x_n$ and contained in $V_n$. If we take $ V_{n+1} = B(y,\rho/2) $, then $\overline{V_{n+1}} \subseteq W\subseteq V_n$. Since $x_n\notin W$, $\overline{V_{n+1}}$ does not contain $x_n$. Moreover, since $y\in P$ and $y\in V_{n+1}$, $V_{n+1}\cap P$ is not empty.
Let me know if you need more details or have another question.
A: $V_1 \cap P \ni x_1$. So, $V_1 \cap P \neq \emptyset$.  
Suppose that $V_n \cap P \neq \emptyset$.  
(1) If $x_n \in V_n$, there exists a neighborhood $N(x_n) \subset V_n$.
Because $x_n \in P$ and $P$ is a perfect set, $x_n$ is a limit point of $P$.
So, $N(x_n)$ contains $x_k$ which is not equal to $x_n$.
Let $V_{n+1}$ be a neighborhood whose center is $x_k$ and whose radius is less than "the radius of $N(x_n)$" minus $|x_k - x_n|$ and whose radius is less than $|x_k - x_n|$.
Then, $V_{n+1}$ satisfies (i) and (ii) and (iii).  
(2) the case when $x_n \notin V_n$.
Becase $V_n \cap P \neq \emptyset$, there exists $x_k \in V_n$.
Let $V_{n+1}$ be a neighborhood whose center is $x_k$ and whose radius is less than "the radius of $V_n$" minus "the distance between the center of $V_n$ and $x_k$".
Then, $V_{n+1}$ satisfies (i) and (ii) and (iii).  
A: I show how such a neighborhood can be constructed in great detail here: Proof of Baby Rudin Theorem 2.43
