valor de entrada del usuario para usar como valor decimal python

Estoy escribiendo un código de Python donde le pido al usuario una entrada y luego tengo que usar su entrada para dar el número de lugares decimales para la respuesta a una expresión.

userDecimals = raw_input (" Enter the number of decimal places you would like in the final answer: ") 

entonces convierto esto a valor entero

 userDecimals = int(userDecimals) 

luego escribo la expresión y quiero que la respuesta tenga tantos decimales como la entrada del usuario de UserDecimals, y no sé cómo lograrlo.

La expresion es

 math.sqrt(1 - xx **2) 

Si esto no está lo suficientemente claro, intentaré explicarlo mejor, pero soy nuevo en Python, y todavía no sé cómo hacer mucho.

    Use el formato de cadena y pase userDecimals de userDecimals a la parte de precision del especificador de formato :

     >>> import math >>> userDecimals = 6 >>> '{:.{}f}'.format(math.sqrt(1 - .1 **2), userDecimals) '0.994987' >>> userDecimals = 10 >>> '{:.{}f}'.format(math.sqrt(1 - .1 **2), userDecimals) '0.9949874371' 

    Al dar formato a su statement de impresión, puede especificar el número de cifras significativas para mostrar. Por ejemplo, '%.2f' % float_value mostrará dos decimales. Vea esta pregunta para una discusión más detallada.

    Quieres algo como esto:

     import math xx = .2 userDecimals = raw_input (" Enter the number of decimal places you would lik e in the final answer: ") userDecimals = int(userDecimals) fmt_str = "%."+str(userDecimals)+"f" print fmt_str % math.sqrt(1 - xx **2) 

    Salidas:

     Enter the number of decimal places you would like in the final answer: 5 0.97980