Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
三角形计算器Python_Python - Fatal编程技术网

三角形计算器Python

三角形计算器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

我需要做一个简单的计算器,当输入两边时,它会产生第三个。我对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("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