我有一个单词列表。每个单词都有一个数值。
'(("Home" 15)("Baby" 20) ("Mother" 28)...)).
我必须编写一个类似的程序:
(function-name "[Home (Baby3) 2] Mother"))
并计算它们的价值。
在上面的示例中:
"[Home (Baby3) 2] Mother" = Home*1 + (Baby*3)*2 +Mother*1=15*1+20*3*2+28=163
我不知道如何开始这个。有什么想法吗?
我开始编写代码。 但是,我不知道如何处理2个括号[,对于eaxmple [首页[Baby3] 2]。 我怎么知道第一个还是第二个? (不使用像计数器和套装这样的东西!)
答案 0 :(得分:3)
考虑将问题分解为几个阶段。一种可能的分解是:
弄清楚如何将任意字符串和解析它们放入数据结构中。例如给定"[Home (Baby3) 2] Mother"
,编写一个解析函数,将其转换为更易消化的结构化值'((Home (Baby 3) 2) Mother)
或其中的一些变体。
给定这样的结构化值,根据您在问题中描述的规则,将函数写入解释。
你知道怎么做这两个吗?