python - 模块未找到错误 : No module named 'pythonds'

标签 python

我试图简单地向这些代码添加输入,但由于软件包 pythonds,我不断收到此错误。

ModuleNotFoundError: No module named 'pythonds'.

这个错误让我无法完成,我不确定如何克服这个错误。请提供帮助并提前致谢。

from pythonds.basic.stack import Stack

def infixToPostfix(infixexpr):
    prec = {}
    prec["^"] = 4
    prec["%"] = 3
    prec["*"] = 3
    prec["/"] = 3
    prec["+"] = 2
    prec["-"] = 2
    prec["("] = 1
    opStack = Stack()
    postfixList = []
    tokenList = infixexpr.split()

    for token in tokenList:
        if token in "ABCDEFGHIJKLMNOPQRSTUVWXYZ" or token in "0123456789":
            postfixList.append(token)
        elif token == '(':
            opStack.push(token)
        elif token == ')':
            topToken = opStack.pop()
            while topToken != '(':
                postfixList.append(topToken)
                topToken = opStack.pop()
        else:
            while (not opStack.isEmpty()) and \
               (prec[opStack.peek()] >= prec[token]):
                  postfixList.append(opStack.pop())
            opStack.push(token)

    while not opStack.isEmpty():
        postfixList.append(opStack.pop())
    return " ".join(postfixList)

def postfixEval(postfixExpr):
    operandStack = Stack()
    tokenList = postfixExpr.split()

    for token in tokenList:
        if token in "0123456789":
            operandStack.push(int(token))
        else:
            operand2 = operandStack.pop()
            operand1 = operandStack.pop()
            result = doMath(token,operand1,operand2)
            operandStack.push(result)
    return operandStack.pop()

def doMath(op, op1, op2):
    if op == "*":
        return op1 * op2
    elif op == "/":
        return op1 / op2
    elif op == "+":
        return op1 + op2
    elif op == "^":
        return op1 ** op2
    elif op == "%":
        return op1 % op2
    else:
        return op1 - op2

string = input("Enter a string: ")

print(infixToPostfix(string))

最佳答案

确保 pip install pythonds。我能够在 Python 提示符下使用该 import 语句而没有任何问题:

>>> from pythonds.basic.stack import Stack

关于python - 模块未找到错误 : No module named 'pythonds' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42360224/

相关文章:

python - 需要解压的值太多(预计为 2 个)?

Python NLTK 不是情感计算正确

python - 为 Python 安装 pip、virtualenv 和分发的正确方法是什么?

python - GAE : Is it necessary to call fetch on a query before getting its cursor?

python - 在 for 循环中来回移动

python - 如何正确地将 JSON 转换为 Python 对象?

python - 如何在Python中基于列表元素创建MySQL表?

python - 将 Python 函数参数存储为变量以供以后调用

python - 编写一个函数来添加键值对

python - 如何保存通过camera.capture_continuous(格式rgb)读取的图像并将其保存到文件中