【问题标题】:Unsupported operand type(s) for ** or pow(): 'str' and 'int'** 或 pow() 不支持的操作数类型:“str”和“int”
【发布时间】:2014-02-12 03:07:10
【问题描述】:

这是我的代码,我不知道为什么程序给了我这个错误。PD:我是这种编程语言的初学者。

import math
while True:
A=input("Escribe el Valor de la 1ra Variable : ")
B=input("Escribe el Valor de la 2da Variable : ") 
C=input("Escribe el Valor de la 3ra Variable : ")
Ec1 = (B * -1)
Ec2 = (B ** 2 - 4 * A * C)
Ec3 = (2*A)
R = math.sqrt(Ec2)
X1 = Ec1 + R / Ec3
X2 = Ec1 - R / Ec3
print('''El Valor de Su Ecuacion Es:/n
X1 = %d
X2 = %d''' % (X1, X2))

【问题讨论】:

标签: windows python-3.x


【解决方案1】:

它失败了,因为input() 返回了一个字符串。要将其转换为整数,可以使用int(some_string)

【讨论】:

  • 好...我将 Input() 更改为 int(input()) 但是当我这样做时,R 会给我其他问题数学域错误
  • 这可能是因为您试图取负数的平方根。您需要检查Ec2 是否为负数,否则R = math.sqrt(Ec2) 将导致数学域错误。如果Ec3 等于0,你也会遇到错误,这将导致被零除。
【解决方案2】:

而不是把input("Escribe el Valor de la 1ra Variable : ")

输入int(input("Escribe el Valor de la 1ra Variable : ")

将输入转换为整数。

【讨论】:

    猜你喜欢
    • 2018-02-05
    • 2017-04-25
    • 1970-01-01
    • 1970-01-01
    • 2017-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多