For those who are trying to solve Problem 6 in Stein and Shakarchi's Functional Analysis. Below is a solution that closely follows the formulation of the problem itself.
First we have the following two Clarkson inequalities. The proof of the first one can be found here. The proof of the second one can be found here.
For $2 \leq p \leq \infty$ we have $$\left\|\frac{f+g}{2}\right\|_{L^p}^p + \left\|\frac{f-g}{2}\right\|_{L^p}^p \leq \frac{1}{2} \left(\|f\|_{L^p}^p+\|g\|_{L^p}^p\right).$$
For $1 < p \leq 2$ we have $$\left\|\frac{f+g}{2}\right\|_{L^p}^q + \left\|\frac{f-g}{2}\right\|_{L^p}^q \leq \left(\frac{1}{2}\left(\|f\|_{L^p}^p+\|g\|_{L^p}^p\right)\right)^{q/p},$$ where $1/p+1/q=1$.
As a result, $L^p$ is uniformly convex when $1 < p < \infty$. This means that there is a function $\delta = \delta(\epsilon) = \delta_p(\epsilon)$, with $0 < \delta < 1$, (and $\delta(\epsilon) \rightarrow 0$ as $\epsilon \rightarrow 0$), so that whenever $\|f\|_{L^p} = \|g\|_{L^p} = 1$, then $\|f-g\|_{L^p} \ge \epsilon$ implies that $\left\|\frac{f+g}{2}\right\|_{L^p} \le 1-\delta$.
Now suppose $1 < p < \infty$, and the sequence $\{f_n\}$ , $f_n \in L^p$, converges weakly to $f$, as well as $\|f_n\|_{L^p} \rightarrow \|f\|_{L^p}$. Without loss of generality we can assume $\|f\|_{L^p}=1$. There exists a $g \in L^q$ such that $\|g\|_{L^q} = 1$ and $\int_X fg = 1$. (Proposition 5.3 in Stein and Shakarchi.)
Define $f_n' = \frac{f_n}{\|f_n\|_{L^p}}$. It is easy to see that weak convergence, together with norm convergence, of $f_n$ implies that $\{f_n'\}$ also weakly converges to $f$. Therefore we have
$$\int_X \frac{f_n' + f}{2} g \rightarrow 1.$$
Now for any $\epsilon > 0$, take $\delta = \delta_p(\epsilon)$ as described previously with uniform convexity. There exists an $N$ such that for any $n>N$ we have
$$1-\delta < \int_X \frac{f_n'+f}{2}g < \left\|\frac{f_n'+f}{2}\right\|_{L^p} \left\|g\right\|_{L^q} = \left\|\frac{f_n'+f}{2}\right\|_{L^p}.$$
Uniform convexity then implies that $\|f_n'-f\|_{L^p} \le \epsilon$.
Since $\|f_n\|_{L^p} \rightarrow 1$, there also exists an $M$ such that $\|f'_n-f_n\| < \epsilon$ for all $n>M$. Now take any $n > \max(M,N)$ and we have
$$\|f_n-f\|_{L^p} = \|f_n - f_n' + f_n' - f\|_{L^p} \le \|f_n-f_n'\|_{L^p} + \|f_n'-f\|_{L^p} \le 2\epsilon.$$
This gives us the desired result.