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)))

 

posted @ 2020-08-18 00:46  上帝的绵羊  阅读(238)  评论(0编辑  收藏  举报