我的意见是:
预先计算每个可能乘法的值,从1 * 1到20 * 20(即2 * 1,3 * 1,4 * 1等等;然后是2 * 2,3 * 2,4 * 2等)在接受任何用户输入之前,将值存储在字典中。它还必须从字典中检索用户请求的值,而不是再次计算它。
我在考虑:
两个选项都将使用for循环来预先计算值。
我们在课堂上看过元组,可以在这里应用吗?如果是这样,怎么样?
请不要给我代码,除非你需要它来帮助解释
答案 0 :(得分:2)
是的,元组适用于此。
这里不需要矩阵,只需要一个嵌套的for
循环,比如i
,另一个j
。在循环中,您可以创建一个元组键((i, j)
)并将乘法结果存储在该键下的字典中:
multiplications[(i, j)] = i * j
甚至
multiplications[i, j] = i * j
因为括号在这里是可选的。
获取用户输入后,您可以查找这些结果:
result = multiplications[userinput1, userinput2]
答案 1 :(得分:1)
你最终会使用for
循环,是的。如果你有这个想法,那么你就走在了正确的轨道上。您可能缺少的部分是您可以使用元组作为字典的键。所以像这样:
{(3, 4): 12}
可以让您为该结果存储预先计算的值。这可能会让你到达你需要的地方。