韩唐伯石 2022-01-27 00:52 采纳率: 57.1%
浏览 48
已结题

错误: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
  • 写回答

2条回答 默认 最新

  • 爱音斯坦牛 全栈领域优质创作者 2022-01-27 02:50
    关注

    第23行改为self.one_step(letter)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 2月4日
  • 已采纳回答 1月27日
  • 创建了问题 1月27日