三角形计算器Python
我需要做一个简单的计算器,当输入两边时,它会产生第三个。我对sqrt函数有点问题。这就是我目前所拥有的三角形计算器Python,python,Python,我需要做一个简单的计算器,当输入两边时,它会产生第三个。我对sqrt函数有点问题。这就是我目前所拥有的 import math print("It's triangle fun time! Enter the numbers you know, and a ? for the number you don't.") sideA = int(input("Side A: ")) sideB = int(input("Side B: ")) sideC = int(input("Hypotenu
import math
print("It's triangle fun time! Enter the numbers you know, and a ? for the number you don't.")
sideA = int(input("Side A: "))
sideB = int(input("Side B: "))
sideC = int(input("Hypotenuse: "))
if sideA == ("?"):
print("Side A =", sideC ** 2 - sideB**2)
elif sideB == ("?"):
print("Side B =", sideC ** 2 - sideA**2)
elif sideC == ("?"):
print("Side C =", math.sqrt(sideA)**2 + (sideB)**2)
任何帮助都将不胜感激
编辑-代码更新
sideC和**和2之间没有空格,但它是加粗的,所以我更改了它为了使用sqrt,您导入了数学吗
为了使用sqrt,您是否导入了数学 数学ℝ 在模块中 相应地,数学ℂ 在。数学在ℝ 在模块中
相应地,数学ℂ 在中。我假设您使用的是Python 3 输入函数返回字符串,而不是整数。在检查它是否为整数后,需要将其从字符串转换为整数?输入为此,请使用 不要用是为了比较,要用== 您是否从数学模块导入了sqrt函数
我假设您使用的是Python 3 输入函数返回字符串,而不是整数。在检查它是否为整数后,需要将其从字符串转换为整数?输入为此,请使用 不要用是为了比较,要用== 您是否从数学模块导入了sqrt函数 我明白了 输入数学 这是三角娱乐时间!输入您知道的号码,不知道的号码输入“0” sideA=输入端A: 侧B=内部输入侧B: sideC=初始授权使用: 如果sideA为0:
sideA = math.sqrt((sideC**2) - (sideB**2))
print("Side A =", sideA)
如果sideB为0:
sideB = math.sqrt((sideC**2) - (sideA**2))
print("Side B =", sideB)
如果sideC为0:
sideC = math.sqrt((sideA**2) + (sideB)**2)
print("Side C =", sideC)
我明白了
输入数学
这是三角娱乐时间!输入您知道的号码,不知道的号码输入“0”
sideA=输入端A:
侧B=内部输入侧B:
sideC=初始授权使用:
如果sideA为0:
sideA = math.sqrt((sideC**2) - (sideB**2))
print("Side A =", sideA)
如果sideB为0:
sideB = math.sqrt((sideC**2) - (sideA**2))
print("Side B =", sideB)
如果sideC为0:
sideC = math.sqrt((sideA**2) + (sideB)**2)
print("Side C =", sideC)
R->python?@PatrickHaugh我认为这应该是实数的领域,但这不是一个真正的答案。该死,这里有这么多的反对票。Ignacio在这里指的是实数域,而不是编程语言R。他没有错——特别是当OP没有给我们所有的信息R->python?@PatrickHaugh我认为这应该是实数域,但这不是一个真正的答案。该死,这里有这么多的反对票。Ignacio在这里指的是实数领域,而不是编程语言R。他没有错——特别是当OP没有给我们所有的信息时,你不需要写str?,它已经改变了,谢谢你也应该这样做;事实上,它在这里工作是CPython的一个实现细节,可能会发生变化。我不认为我应该这样做,但我忘记了==和=不工作。比那一个更好的链接:你不需要写str?,它已经是stringChanged了,谢谢你也应该这样做;它在这里工作的事实是CPython的一个实现细节,可能会发生变化。我不认为我应该这样做,但我忘记了==和=不工作,这是一个比那个更好的链接:回溯最近的调用最后:文件C:\Python34\Problem 5.py,第2行,在math.sqrt TypeError中:sqrt只接受一个参数0,如果您将要获取的平方根放入“math.sqrt”中,如果保留为空,您将得到一个错误。回溯最近的调用最后:文件C:\Python34\Problem 5.py,第2行,在math.sqrt TypeError中:sqrt只接受一个参数0,如果您将要获取的平方根放入“math.sqrt”中,如果保留为空,您将得到一个错误。我更改了这些内容,但在尝试导入sqrt时仍然存在此问题,如果我没有,它会说我需要回溯最近的调用最后一个:文件C:\Python34\Problem 5.py,在math.sqrt TypeError中的第2行:sqrt只接受一个参数0given@mememan9001上面显示的代码没有反映这一点。当您使用math.sqrt时,您需要在函数中添加一个数字-一个参数-例如:math.sqrt4将返回2我已将最后一行更改为printSide C=,math.sqrtsideA**2+sideB**2,但我仍然得到最近一次调用的回溯:printSide C=,文件C:\Python34\Problem 5.py,第16行,math.sqrtsideA**2+sideB**2类型错误:不支持**或pow的操作数类型:“str”和“int”是-使用int将字符串从整数转换为字符串以避免类型错误。抱歉,我在回答中没有说清楚好的,我想我知道你在说什么,但我在实际操作中遇到了困难。我将输入更改为InInput,但现在我得到了最近一次调用的回溯:文件C:\Python34\Problem 5.py,第7行,在sideC=intinputHypotenuse:ValueError:invalid literal for int,base 10:“?”我更改了这些内容,但在尝试导入sqrt时仍然存在此问题,如果我没有,它会说我需要回溯最近的调用:math.sqrt中的文件C:\Python34\Problem 5.py,第2行
TypeError:sqrt只接受一个参数0given@mememan9001上面显示的代码没有反映这一点。当您使用math.sqrt时,您需要在函数中添加一个数字-一个参数-例如:math.sqrt4将返回2我已将最后一行更改为printSide C=,math.sqrtsideA**2+sideB**2,但我仍然得到最近一次调用的回溯:printSide C=,文件C:\Python34\Problem 5.py,第16行,math.sqrtsideA**2+sideB**2类型错误:不支持**或pow的操作数类型:“str”和“int”是-使用int将字符串从整数转换为字符串以避免类型错误。抱歉,我在回答中没有说清楚好的,我想我知道你在说什么,但我在实际操作中遇到了困难。我将输入更改为对边进行intinput,但现在我得到了最近一次调用的回溯:文件C:\Python34\Problem 5.py,第7行,在sideC=intinputHypotenuse:ValueError:int的无效文本,以10为底:'?'回溯最近一次调用:文件C:\Python34\Problem 5.py,第16行,在printSide C=,math.sqrt sideA**2+sideB**2类型错误:不支持**或pow的操作数类型:“str”和“int”如上所述,输入函数返回字符串,而不是数字。因此,您需要将输入转换为数值。你可以试试:numA=floatsideA,numB=floatsideB。然后numC=math.sqrtnumA**2+numB**2回溯最后一次调用:文件C:\Python34\Problem 5.py,第16行,在printSide C=,math.sqrt sideA**2+sideB**2 TypeError:不支持**或pow的操作数类型:“str”和“int”如上所述,输入函数返回字符串,而不是数字。因此,您需要将输入转换为数值。你可以试试:numA=floatsideA,numB=floatsideB。然后numC=math.sqrtnumA**2+numB**2