Theorem. Let $X$ a uniformly convex Banach space. Let $\{x_n\}$ be a sequence in $X$ such that $x_n \rightharpoonup x$ and $$\limsup\lVert x_n\rVert\le\lVert x\rVert$$ then $x_n\to x.$
Proof. We assume that $x\ne 0$. Set $\lambda_n=\max\{{\lVert x_n\rVert,\lVert x \rVert}\}$, $y_n=\lambda_n^{-1}x_n$ and $y=\lVert x \rVert^{-1}x.$
Question. The proof is clear to me except this point, I think it's a stupid thing, but I can't understand: Why $$\lambda_n\to \lVert x\rVert$$
Let $\epsilon >0$. Then $\lim \sup \|x_n\|<\|x\|+\epsilon$. This implies $\|x_n\| <\|x\|+\epsilon$ for $n$ sufficiently large and hence $\|x\| \leq \lambda_n <\|x\|+\epsilon$ for $n$ sufficiently large.