如果 python 不工作且数学模块有故障则嵌套
Nestes if's in python not working and math module faulty
在这段代码中,我首先询问用户三角函数,然后询问弧度或度数的角度。根据代码,控制台应该打印错误,但是在 运行 代码中,第一个 if 语句接受任何输入作为 true.the 最终计算值也是错误的。请建议要做什么以及可以对代码进行的任何其他相关更改。
from math import *
trigFunc = str(input("What function do you want to use? Sine, Cosine or Tangent: "))
if trigFunc.lower == "sine" :
radOrDeg = str(input("Do you want to input the value as radians or degrees? "))
if radOrDeg.lower == "radians" :
angle = int(input("Please input the value of the angle: "))
print(math.sin(angle))
elif radOrDeg.lower == "degrees" :
angle = int(input("Please input the value of the angle: "))
radAngle = int(math.radians(angle))
print(math.sin(radAngle))
else:
print("error")
elif trigFunc.lower == "cosine" :
radOrDeg = str(input("Do you want to input the value as radians or degrees? "))
if radOrDeg.lower == "radians" :
angle = int(input("Please input the value of the angle: "))
print(math.cos(angle))
elif radOrDeg.lower == "degrees" :
angle = int(input("Please input the value of the angle: "))
radAngle = int(math.radians(angle))
print(math.cos(radAngle))
else:
print("error")
elif trigFunc.lower == "tangent" :
radOrDeg = str(input("Do you want to input the value as radians or degrees? "))
if radOrDeg.lower == "radians" :
angle = int(input("Please input the value of the angle: "))
print(math.tan(angle))
elif radOrDeg.lower == "degrees" :
angle = int(input("Please input the value of the angle: "))
radAngle = int(math.radians(angle))
print(math.tan(radAngle))
else:
print("error")
else:
print("ERROR, the function cannot be used")
input("press enter to exit")
.lower
是一个函数,你需要调用它来 return 一个字符串。现在你正在将一个函数与一个字符串进行比较,它将 return False
.
将 trigFunc.lower
更改为 trigFunc.lower()
。
您的代码中有几处错误。以下是我为使您的代码正常工作所做的更改:
- 使用
trigFunc.lower()
而不是 trigFunc.lower
。您需要调用该方法才能获得您想要的结果。
- 使用
import math
而不是 from math import *
,因为您在整个过程中都引用了 math
库。
- 使用
math.radians(int(angle))
而不是 int(math.radians(angle))
,因为 math.radians
不将字符串作为输入。
在这段代码中,我首先询问用户三角函数,然后询问弧度或度数的角度。根据代码,控制台应该打印错误,但是在 运行 代码中,第一个 if 语句接受任何输入作为 true.the 最终计算值也是错误的。请建议要做什么以及可以对代码进行的任何其他相关更改。
from math import *
trigFunc = str(input("What function do you want to use? Sine, Cosine or Tangent: "))
if trigFunc.lower == "sine" :
radOrDeg = str(input("Do you want to input the value as radians or degrees? "))
if radOrDeg.lower == "radians" :
angle = int(input("Please input the value of the angle: "))
print(math.sin(angle))
elif radOrDeg.lower == "degrees" :
angle = int(input("Please input the value of the angle: "))
radAngle = int(math.radians(angle))
print(math.sin(radAngle))
else:
print("error")
elif trigFunc.lower == "cosine" :
radOrDeg = str(input("Do you want to input the value as radians or degrees? "))
if radOrDeg.lower == "radians" :
angle = int(input("Please input the value of the angle: "))
print(math.cos(angle))
elif radOrDeg.lower == "degrees" :
angle = int(input("Please input the value of the angle: "))
radAngle = int(math.radians(angle))
print(math.cos(radAngle))
else:
print("error")
elif trigFunc.lower == "tangent" :
radOrDeg = str(input("Do you want to input the value as radians or degrees? "))
if radOrDeg.lower == "radians" :
angle = int(input("Please input the value of the angle: "))
print(math.tan(angle))
elif radOrDeg.lower == "degrees" :
angle = int(input("Please input the value of the angle: "))
radAngle = int(math.radians(angle))
print(math.tan(radAngle))
else:
print("error")
else:
print("ERROR, the function cannot be used")
input("press enter to exit")
.lower
是一个函数,你需要调用它来 return 一个字符串。现在你正在将一个函数与一个字符串进行比较,它将 return False
.
将 trigFunc.lower
更改为 trigFunc.lower()
。
您的代码中有几处错误。以下是我为使您的代码正常工作所做的更改:
- 使用
trigFunc.lower()
而不是trigFunc.lower
。您需要调用该方法才能获得您想要的结果。 - 使用
import math
而不是from math import *
,因为您在整个过程中都引用了math
库。 - 使用
math.radians(int(angle))
而不是int(math.radians(angle))
,因为math.radians
不将字符串作为输入。