如何对答案进行舍入,以便在输出中显示一个小数位?例如:如果半径为8,则输出为1005.3。截至目前,它只显示1005
import math
import sqrt
import math
def find_volume(radius, height):
return pi * radius * radius * height
def print_results (radius,height):
print 'Volume = '
def find_surface_area(radius, height):
return 2 * math.pi * radius * height + 2 * math.pi *
math.pow(radius,2)
def print_results (radius,height):
print 'Surface = '
def main():
radius = float(input("Enter value for a Radius: "))
height = float(input("Enter value for a Height: "))
print("Cylinder volume: %d" % (find_volume(radius, height)))
print("Cylinder surface area: %d" % (find_surface_area(radius,height))
if __name__ == "__main__":
main()
答案 0 :(得分:1)
这个问题可能有所帮助:Python 2.7: %d, %s, and float()
当您打印结果时,您正在使用%d
代表整数。而是尝试%10.1f
。
答案 1 :(得分:1)
首先是一些语法错误:
如果你使用的是python 3,那么 OnClientClick="showIcon"
应该是function showIcon()
{
document.getElementById('#myBtnId').innerHTML = <i class='fa fa-spinner fa-pulse btn-red'/></i>"
}
,否则这是正确的,但主函数中的print语句是错误的
此外,您在主函数和正在使用的print 'Surface = '
函数的最后一个print语句中缺少括号print('Surface= ')
,如果您使用find_volume
,则必须使用pi
你不做math.pi
。
此外,您不必两次导入数学
如果你想要一个带小数点后1位的浮点数你必须使用from math import pi
但是当半径为8且高度为3时,这会给出%f % round(find_surface_area(radius,height),1))
,但是你可以使用.format {}来代替它对我来说正确(我在python 3上)
下面的代码应该可以使用
552.900000
答案 2 :(得分:0)
你可以这样做:
>>> a=165.1984965468
>>> "%.2f" % round(a,2)
'165.20'
修改强>
>>> "%.1f" % round(a,1)
'165.2'
答案 3 :(得分:0)
您可以尝试这种方式:
static CanonCamera dslr;
static boolean connected = false;
public static void init() {
dslr = new CanonCamera(); //This line throws the error
dslr.openSession();
connected=true;
}