I am writing a python code where I ask the user for input and then I have to use their input to give the number of decimal places for the answer to an expression.
When formatting your print statement you can specify the number of significant figures to display. For example '%.2f' % float_value
will display two decimal places. See this question for a more detailed discussion.
You want something like this:
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)
Outputs:
Enter the number of decimal places you would like in the final answer: 5
0.97980
Use string formatting and pass userDecimals
to the precision
part of the format specifier:
>>> 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'