Skip to main content
 首页 » 编程设计

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

2025年05月04日24freeliver54

我试图简单地向这些代码添加输入,但由于软件包 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