使用Python的math库计算一个公式

3
根据包含公式的图片,我编写了以下代码。
但是我输入的数字是错误的。
import math as m
x = int(input())
r=m.ceil(m.pow(x,(5/3))+m.tan(x))
y = m.floor(m.pow(m.pi, 2+m.atan(m.pow(m.sin(m.radians(x)), 2))))
print(m.gcd(r,y))

欢迎来到 Stack Overflow。请阅读[提问]和https://ericlippert.com/2014/03/05/how-to-debug-small-programs/,并尝试仔细考虑代码。提示:看到`m.sin(m.radians(x))`写了什么?`m.radians`部分的目的是什么?现在,看到`m.tan(x)`写了什么?好像有东西遗漏了吗? - Karl Knechtel
x是以弧度还是角度给出的?如果是角度,那么@cardstdani是正确的;如果是弧度,您应该从y中删除m.radians() - Ftagliacarne
1个回答

3

使用math.tan()以及其它三角函数时,需要将角度转为弧度进行计算:

import math as m
x = int(input())
r=m.ceil(m.pow(x,(5/3))+m.tan(m.radians(x)))
y = m.floor(m.pow(m.pi, 2+m.atan(m.pow(m.sin(m.radians(x)), 2))))
print(m.gcd(r,y))

此外,如果输入值以弧度为单位,则必须删除 m.radians()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接