Well, let $p_n=\prod_{i=1}^na_i$. Since $(p_n)_{n\in\mathbb{N}}$ is convergent, it is also a Cauchy sequence. Also, let
$$s_p:=\inf_{n\in\mathbb{N}}p_n$$
It is clear that $s_p>0$; otherwise, since $p_n>0$ - a product is convergent if the corresponding sequence converges to a non-zero real number - if $s_p=0$, ther should be a subsequence $(p_{k_n})_{n\in\mathbb{N}}$ of $p_n$, such that $p_{k_n}\to s_p=0$ and, since $p_n$ is convergent, we should have $p_n\to0$, which is a contradiction. So, we get that $s_p>0$.
Now, let $\epsilon>0$; then there exists a $n_0=n_0(\epsilon)\in\mathbb{N}$ such that for every $n,m\in\mathbb{N}$ with $n>m\geq n_0$:
$$|p_n-p_m|<\epsilon\cdot s_p$$
or, in other words (taking into consideration that $a_n\geq0$ and that a product converges when its limit is non-zero (so every $a_n$ is strictly positive):
$$\left|\prod_{i=1}^na_i-\prod_{j=1}^ma_j\right|<\epsilon\cdot s_p$$
We can re-write the left part of the above inequality as follows:
$$\left|\prod_{i=1}^na_i-\prod_{j=1}^ma_j\right|=\left|\prod_{i=1}^ma_i\left(\prod_{j=m+1}^na_j-1\right)\right|=\prod_{i=1}^ma_i\left|\prod_{j=m+1}^na_j-1\right|$$
So, we get the following inequality:
$$p_m\left|\prod_{j=m+1}^na_j-1\right|<\epsilon\cdot s_p$$
and, sine all the above numbers are positive and $p_m\geq s_p$, we get that:
$$\left|\prod_{j=m+1}^na_j-1\right|<\epsilon\tag{$\star$}$$
Choosing $n=m+1$, $(\star)$ gives:
$$|a_{m+1}-1|<\epsilon$$
for every $m\geq n_0\Rightarrow m+1\geq n_0+1$. So, let $N=n_0+1$. Then, for every $n\geq N$ we have:
$$|a_n-1|<\epsilon$$
So, we finally get that:
$$\boxed{\lim_{n\to\infty}a_n=1}$$
Now, to prove the congergence of
$$\frac{\displaystyle\sum_{k=0}^\infty\lambda_ka_k}{\displaystyle\sum_{k=0}^\infty\lambda_k}$$
to $1$ - which, intuitively is obvious, since we are examining the convergence of some convex combinations of a sequence that is convergent to 1 - we can work as follows. At first, let us assume that $\lambda_0>0$ ($\sum_k\lambda_k=\infty$ implies that we can assume that there exists at least one non-zero $\lambda_k$, and, since we need to define the above fraction of sums, we need the denominator to be non-zero for every $n=0,1,\dots$). Also, let:
$$s_n:=\frac{\displaystyle\sum_{k=0}^n\lambda_k a_k}{\displaystyle\sum_{k=0}^n\lambda_k}=\sum_{k01}^n\frac{\lambda_k}{\sum_{k=0}^n\lambda_k}a_k=\sum_{k=0}^nc_{k,n}a_k$$
and note the for every $k,n\in\mathbb{N}$ we have that $0<c_{k,n}\leq1$ and $\displaystyle\sum_{k=0}^nc_{k,n}=1$.
Now, let $\epsilon>0$. There exist a $n_0\in\mathbb{N}$ such that for every $n\in\mathbb{N}$ with $n\geq n_0$ we have:
$$|a_n-1|<\epsilon\Leftrightarrow1-\epsilon<a_n<1+\epsilon$$
Since $c_{k,n}>0$ for every $k\in\mathbb{N}$ and $n\geq n_0$, we get:
$$(1-\epsilon)c_{k,n}<c_{k,n}a_k<(1+\epsilon)c_{k,n}$$
Summing now over $k=0,1,\dots,n$, with $n\geq n_0$, we get:
$$\sum_{k=0}^n(1-\epsilon)c_{k,n}<\sum_{k=0}^nc_{k,n}a_k<\sum_{k=0}^n(1+\epsilon)c_{k,n}$$
or
$$(1-\epsilon)\sum_{k=0}^nc_{k,n}<s_n<(1+\epsilon)\sum_{k=0}^nc_{k,n}$$
Since $\displaystyle\sum_{k=0}^nc_{k,n}=1$, we get:
$$1-\epsilon<s_n<1+\epsilon\Leftrightarrow|s_n-1|<\epsilon$$
for every $n\geq n_0$, and, as a result:
$$\boxed{\lim_{n\to\infty}s_n=1}$$
which is what we wanted to prove.