human
Solve the following python programming problem given the following code:
# Hint

from thinkbayes2 import EvalWeibullCdf

class LightBulb2(Suite, Joint):
    
    def Likelihood(self, data, hypo):
        lam, k = hypo
        x = data
        like = 1
        return like

# Solution

class LightBulb2(Suite, Joint):
    
    def Likelihood(self, data, hypo):
        lam, k = hypo
        x = data
        like = 1 - EvalWeibullCdf(x, lam, k)
        return like

from itertools import product

lams = np.linspace(0.001, 10, 101)
ks = np.linspace(0.001, 10, 101)

suite = LightBulb2(product(lams, ks))

suite.Update(1)

thinkplot.Contour(suite)

pmf_lam = suite.Marginal(0)
thinkplot.Pdf(pmf_lam)
pmf_lam.Mean()

pmf_k = suite.Marginal(1)
thinkplot.Pdf(pmf_k)
pmf_k.Mean()
Given the above code, generate some markdown instructions for it.
assistant
#Here is the Python code you requested.

Exercise:  Go back and run this analysis again with n=20 and see if the posterior distributions seem to be converging on the actual parameters. 
Censored data
Exercise: Now suppose that instead of observing a complete lifespan, you observe a lightbulb that has operated for 1 year and is still working.  Write another version of LightBulb that takes data in this form and performs an update.