空间三角形
输入在三维空间的三角形三个顶点A,B,C的坐标(x,y,z),计算并输出三角形面积。不考虑不能构成三角形的特殊情况。
格式
输入格式:
依次输入三个顶点A,B,C的坐标(x,y,z),整型,空格分隔。
输出格式:
输出实型,保留2位小数。
样例 1
输入:
0 0 0 0 0 3 3 0 0
复制
输出:
4.50
import math
def main():
# code here
x1, y1, z1, x2, y2, z2, x3, y3, z3 = map(float, input().split())
a = math.sqrt((x1 - x2) ** 2 + (y1 - y2) ** 2 + (z1 - z2) ** 2)
b = math.sqrt((x1 - x3) ** 2 + (y1 - y3) ** 2 + (z1 - z3) ** 2)
c = math.sqrt((x3 - x2) ** 2 + (y3 - y2) ** 2 + (z3 - z2) ** 2)
p = (a + b + c) / 2
s = math.sqrt(p * (p - a) * (p - b) * (p - c))
print('{:.2f}'.format(s))
if __name__ == '__main__':
main()
四边形坐标
输入四边4个顶点A,B,C,D的坐标(x,y),计算并输出四边形面积。
格式
输入格式:
依次输入4个顶点A,B,C,D的坐标(x,y),四边形一定是凸四边形,整型,空格分隔。
输出格式:
输出实型,保留2位小数。
样例 1
输入:
0 0 1 0 5 5 0 1
复制
输出:
5.00
复制
备注
分解成2个三角形,三角形面积公式: S=1/2 * |x1y2-x1y3+x2y3-x2y1+x3y1-x3y2|
#abcd四点的顺序不一定是顺序,算出四个三角形面积相加除以2
import math
def calculate_area(x1, y1, x2, y2, x3, y3):
return 0.5 * abs(x1 * y2 - x1 * y3 + x2 * y3 - x2 * y1 + x3 * y1 - x3 * y2)
def main():
x1, y1, x2, y2, x3, y3, x4, y4 = map(int, input().split())
triangle1_area = calculate_area(x1, y1, x2, y2, x3, y3)
triangle2_area = calculate_area(x1, y1, x3, y3, x4, y4)
triangle3_area = calculate_area(x2, y2, x3, y3, x4, y4)
triangle4_area = calculate_area(x1, y1, x2, y2, x4, y4)
total_area = triangle1_area + triangle2_area+ triangle3_area+ triangle4_area
print('{:.2f}'.format(total_area/2))
if __name__ == '__main__':
main()
直角坐标到极坐标的转换
请编写一个简单程序,实现直角坐标(x,y)到极坐标 (r,θ)的转换。数学中,极坐标系是一个二维坐标系,其中平面上的每个点由一个夹角和一段相对中心点——极点(相当于我们较为熟知的直角坐标系中的原点)的距离来表示。PI=3.1415926
格式
输入格式:
输入float型,空格分隔
输出格式:
输出float型,空格分隔,保留1位小数
样例 1
输入:
1 1
复制
输出:
1.4 45.0
import math
def main():
#code here
pass
x,y = map(float,input().split())
r = math.sqrt(x*x+y*y)
theta = math.atan2(y,x)
degree = theta*180/3.1415926
print('{:.1f} {:.1f}'.format(r,degree))
if __name__ == '__main__':
main()
极坐标到直角坐标的转换
请编写一个简单程序,实现极坐标 (r,θ)到直角坐标(x,y)的转换。数学中,极坐标系是一个二维坐标系,其中平面上的每个点由一个夹角和一段相对中心点——极点(相当于我们较为熟知的直角坐标系中的原点)的距离来表示。PI=3.1415926
其中:
x = r × cos( θ )
y = r × sin( θ )
格式
输入格式:
输入实型,空格分隔
输出格式:
输出实型,逗号分隔,保留2位小数
样例 1
输入:
1.4142 45
复制
输出:
1.00,1.00
import math
def main():
#code here
pass
r,theta = map(float,input().split())
radin = theta*3.1415926/180
x = math.cos(radin)*r
y = math.sin(radin)*r
print('{:.2f},{:.2f}'.format(x,y))
if __name__ == '__main__':
main()
弓形弦长
假定弓形弦长为C,半径为R,弦高为H,输入R和H,输出弓形弦长C。计算公式如下:
格式
输入格式:
输入实型,空格分隔。
输出格式:
输出实型,保留2位小数。
样例 1
输入:
3 2.23607
复制
输出:
5.80
import math
def main():
#code here
pass
r,h = map(float,input().split())
c = 2*math.sqrt(h*(2*r-h))
print('{:.2f}'.format(c))
if __name__ == '__main__':
main()
弓形半径
假定弓形弦长为C,半径为R,弦高为H,输入C和H,按公式R=(CC+4H*H)/8H输出弓形半径R。
格式
输入格式:
输入实型,空格分隔。
输出格式:
输出实型,保留2位小数。
样例 1
输入:
4 2.23607
复制
输出:
2.01
弓形半径
假定弓形弦长为C,半径为R,弦高为H,输入C和H,按公式R=(CC+4H*H)/8H输出弓形半径R。
格式
输入格式:
输入实型,空格分隔。
输出格式:
输出实型,保留2位小数。
样例 1
输入:
4 2.23607
复制
输出:
2.01
def main():
#code here
pass
c,h = map(float,input().split())
r = (c*c+4*h*h)/(8*h)
print('{:.2f}'.format(r))
if __name__ == '__main__':
main()
弓形弧长
假定弓形弧长为L,半径为R,圆心角为A,输入R和A,按公式L=0.01745R*A计算并输出弓形弧长L。
格式
输入格式:
输入实型,空格分隔。
输出格式:
输出实型,保留2位小数。
样例 1
输入:
3 83.62063
复制
输出:
4.38
def main():
#code here
pass
r,a = map(float,input().split())
l = 0.01745*r*a
print('{:.2f}'.format(l))
if __name__ == '__main__':
main()
弓形圆心角
假定弓形弧长为L,半径为R,圆心角为A,输入R和L,按公式A=57.296L/R计算并输出弓形圆心角A。
格式
输入格式:
输入实型,空格分隔。
输出格式:
输出实型,保留2位小数。
样例 1
输入:
3 4.37837
复制
输出:
83.62
def main():
#code here
pass
r,l = map(float,input().split())
a = 57.296*l/r
print('{:.2f}'.format(a))
if __name__ == '__main__':
main()
弓形弦高
假定弓形弦长为C,半径为R,弦高为H,输入R和C,按公式计算并输出弓形弦高H。
格式
输入格式:
输入实型,空格分隔。
输出格式:
输出实型,保留2位小数。
样例 1
输入:
3 4
复制
输出:
0.76
import math
def main():
#code here
pass
r,c = map(float,input().split())
h = r-0.5*math.sqrt(4*r*r-c*c)
print('{:.2f}'.format(h))
if __name__ == '__main__':
main()
圆锥的表面积
请编写一个简单程序,输入半径和高度,计算输出圆锥的表面积。(PI是3.1415926)
计算公式为:
格式
输入格式:
double型,空格分隔
输出格式:
输出圆锥的表面积,保留2位小数
样例 1
输入:
8 12
复制
输出:
Surface area=563.53
import math
def main():
#code here
pass
r,h = map(float,input().split())
area = 3.1415926*r*(r+math.sqrt(r*r+h*h))
print('Surface area={:.2f}'.format(area))
if __name__ == '__main__':
main()