Форум сайта python.su
Вычислить f(a,b) = (tan(a)+tan(b))/(1-tan(a)*tan(b))
Вот код:
import math
a=int(input(“напишите,чему равен угол a:”))
b=int(input(“напишите, чему равен угол b:”))
if a==90 or a==270 or b==90 or b==270:
print(“ошибка, невозможно вычислить тангенс”)
a=math.radians(a)
b=math.radians(b)
c=math.tan(a)
d=math.tan(b)
if c*d==1:
print(“ошибка, деление на 0”)
else:
print((c+d)/(1-c*d))
При вводе значений 90 или 270 выдает почему-то еще и дальнейшие вычисления:
напишите,чему равен угол a:90
напишите, чему равен угол b:270
ошибка, невозможно вычислить тангенс
-2.4492935982947064e-16
А при вводе таких значений, чтобы сложение тангенсов в числителе было равно нулю и вся дробь соответственно равна нулю, получается вот это:
напишите,чему равен угол a:45
напишите, чему равен угол b:315
-2.7755575615628914e-16
Отредактировано anna44 (Май 10, 2017 16:16:52)
Прикреплённый файлы: 1.21.py (533 байта)
Офлайн
>>> import math >>> >>> def f(a, b): ... ta, tb = math.tan(a), math.tan(b) ... return (ta + tb) / (1 - ta * tb) ... >>> a, b = 10, 45 >>> out = f(math.radians(a), math.radians(b)) >>> out 1.4281480067421144 >>> >>> a, b = 45, -45 >>> out = f(math.radians(a), math.radians(b)) >>> out 0.0 >>>
Офлайн