如何解决递归函数中无法识别变量
此代码评估一手二十一点。它适用于所有情况,除非在函数内调用该函数时出现“UnboundLocalError:分配前引用的局部变量'反馈'”消息。
我不明白的是,代码一直到打印答案的底线,在抛出错误之前,我认为已经完成。
这是代码
def evaluate_hand(hand):
score = sum(hand)
if score > 21 and 11 not in hand:
Feedback = 0
elif score > 21 and 11 in hand:
hand.remove(11)
hand.append(1)
evaluate_hand(hand) # problem seems to be here (?)
elif len(hand) >= 5:
Feedback = 22
elif score == 21 and 11 in hand:
Feedback = 23
else:
Feedback = score
print('score for evaluation purposes = {}'.format(Feedback))
# example inputs:
evaluate_hand([1,8,10]) #normal hand
evaluate_hand([10,5,10]) # bust hand
evaluate_hand([3,1,2]) # five card trick
evaluate_hand([5,11]) # 'bust' hand including an ace
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。