0
# quadratic.py
# A program that computes the real roots fo a quadratic equation.
# Illustrates the use of the math library
# Note: This program crashes if the equation has no real roots

import math # math makes the library available

def main():
    print "This program finds the real solutions to a quadratic"
    print

    a, b, c = input("Please enter the coefficients (a, b, c): ")
    discRoot = math.sqrt(b * b - 4 * a * c)
    root1 = (-b +discRoot) / (2 * a)
    root2 = (-b +discRoot) / (2 * a)

    print
    print "The solutions are: ", root1 , root2 

main()

她是我得到的错误:

Macintosh-7:python andrewmetersky$ python quadratic.py
我作业问题的答案:什么是 i+x+j =
Traceback(最近一次调用最后一次):
文件“quadratic.py”,第 6 行,在
import math #math make可用的库
文件“/Users/andrewmetersky/Desktop/Programming/Python/math.py”,第 5 行,在
NameError:未定义名称'jp'

问题是,math.py 甚至不是该位置的文件。是的,但我删除了它,因为我认为 Python 试图获取它而不是数学模块。在那个位置有一个名为 math.pyc 的文件……那是模块吗?为什么它不获取它。

谢谢

PS-另外,我如何使我刚刚粘贴的那部分显示为带有堆栈溢出的代码,而不必为每行按空格 4 倍。

4

4 回答 4

5

您还需要删除 .pyc 文件。那是原始 .py 文件的编译版本,如果它在路径中,python 将使用它。仅当源 (.py) 文件存在且较新时,它才会更新(重新编译)。

当您import第一次使用本地文件时,Python 将该文件转换为字节码并标记它.pyc

于 2012-07-26T03:41:34.993 回答
2

您有一个名为“math.py”的文件,位于:/User/andrewmetersky/Desktop/Programming/Python”之前,它位于 Python 自己的数学模块之前。重命名您的文件并删除匹配的 .pyc 文件,一切都应该再次运行。

于 2012-07-26T03:41:11.977 回答
0

python import "/Users/andrewmetersky/Desktop/Programming/Python/math.py" 重命名它,或者将 quadratic.py 移动到另一个目录。

于 2012-07-26T04:04:22.630 回答
0

math 是一个标准的 Python 库,因此您的代码应该按原样工作。

确认运行:

$python

>>import math

看看你得到了什么。

似乎您在本地目录中使用自己的定义来屏蔽数学库。

删除任何看起来像 math.py 或 math.pyc 的本地内容,然后重试。

于 2012-07-26T03:45:23.473 回答