def polysum(n,s):
import math
r = math.pi/n
area = ((0.25)*n*(s**2))/ math.tan(r)
per = n*s
total = area + (per**2)
return ("%.4f" % total)
输出以字符串格式返回,而不是 int。例如:函数返回“1563.7383”而不是 1563.7383
def polysum(n,s):
import math
r = math.pi/n
area = ((0.25)*n*(s**2))/ math.tan(r)
per = n*s
total = area + (per**2)
return ("%.4f" % total)
输出以字符串格式返回,而不是 int。例如:函数返回“1563.7383”而不是 1563.7383
您没有在问题中添加语言标签,但从语法来看,我认为这里是 Python。
首先,请注意 1563.7383不能是int
,但可以是float
。
您的问题在于您使用"%.4f" % total
,它转换total
为具有 4 个小数位的字符串。
您可能应该只total
在您的函数中返回(即在整个程序中将其视为一个float
,而不是四舍五入)。仅"%.4f" % total
在实际输出值时才使用它。
或者,如果您绝对必须将函数中的值四舍五入并将其作为 a float
,请考虑改用内置函数round()
。您的使用情况将是return round(total, 4)