python函数不可以递归调用_在Python中调用递归函数时出现问题

我遗漏了一些关于递归在Python中是如何工作的。我采用了以下方法来标记一个句子:def extractIngredientInfo(ingredientLine, sectionTitle):

print 'extractIngredientInfo' + ingredientLine

# set-up some default values for variables that will contains the extracted datas

usmeas = 'N.A'

othermeas = 'N.A'

p_ingredientalt = re.compile('\(or\s(.*?)\)')

malt = p_ingredientalt.search(ingredientLine)

if malt:

ingredientAlt = malt.group(1)

ingredientLine = ingredientLine.replace(malt.group(0), '').strip()

print 'NEW LINE TO TREAT(ALT)' + ingredientLine

extractIngredientInfo(ingredientLine, sectionTitle)

usmeas,othermeas = extractOneIngredientInfo(ingredientAlt)

print 'MALT'

ingredient

yield usmeas, othermeas

#return;

p_ingredientpurpose = re.compile('\(for\s(.*?)\)')

mpurpose = p_ingredientpurpose.search(ingredientLine)

if mpurpose:

ingredientPurpose = mpurpose.group(1)

ingredientLine = ingredientLine.replace(mpurpose.group(0), '').strip()

print 'NEW LINE TO TREAT(FOR)' + ingredientLine

extractIngredientInfo(ingredientLine, sectionTitle)

usmeas,othermeas = extractOneIngredientInfo(ingredientPurpose)

print 'MPURPOSE'

yield usmeas,othermeas

#return;

usmeas,othermeas = extractOneIngredientInfo(ingredientLine)

print 'FINAL'

yield usmeas, othermeas

当我调用这个函数时,我有一个匹配的malt,这将导致对递归函数extractIngredientInfo的立即调用,但这种情况从未发生(我没有看到对print 'extractIngredientInfo' + ingredientLine的第二次调用。有没有什么特别的原因没有发生?在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值