错误:name 'one_step' is not defined

在Compute函数里调用one_step函数显示函数未定义,哪里出错了呢

def __init__(self,fa_description):
    self.fa = fa_description
    self.state = self.fa['start']
    
def one_step(self,symbol):
    """
    takes a symbol (a string) and returns a state
    it is the state arrived at given the symbol at the current state
    """
    self.state = self.transitions[self.state,symbol]
    # write code here
    
    return self.state   # do not take this as a hint
    
def compute(self,string):
    """
    takes a string and put the FA in the start state, then applies one_step
    to each symbol in the string.
    returns True if the FA ends in an accepting state; else returns False
    """
    self.state = self.fa['start']
    for letter in string:
        one_step(self,letter)
        
    if(self.state == self.fa['start']):
        return True
    
    # write code here 
    
    return False   # do not takes this as a hint


#end class SimpleFiniteAutomata

第23行改为self.one_step(letter)

因为你是在类里面调用函数需要self.函数名,

class A():
  def x(self,x):
      return x
  def y(self):
      print (self.x(2))
  @staticmethod
  def y():
      print (x(2))

比如这样的类型,手打的,格式不一定对