PTA 乙级 1051 复数乘法 (15分) Python
突然想用python了
用C++的话,注意计算出a,b后像 -0.005 < a < 0.005, -0.005 < b < 0.005 这种情况会保留两位小数时,会直接输出0.00,应该输出0(测试点2,3),所以需要判定a,b的范围
python直接利用round提前进行小数点的保留即可
1 import math 2 num = input().split(' ') 3 r1 = eval(num[0]) 4 p1 = eval(num[1]) 5 r2 = eval(num[2]) 6 p2 = eval(num[3]) 7 a = round(r1 * r2 * math.cos(p1 + p2), 2) #a,b提前进行小数保留 8 b = round(r1 * r2 * math.sin(p1 + p2), 2) 9 if b == 0: #当a,b为0时,必须输出0,不可以输出0.0(测试点2,3) 10 b = 0 11 elif a == 0: 12 a = 0 13 if b >= 0: 14 print("{0:.2f}+{1:.2f}i".format(a, b)) 15 else: 16 print("{0:.2f}-{1:.2f}i".format(a, abs(b)))
默默地一点点变强,细节决定成败