我的思维过程是否正确



我的习惯是:

接受任何用户输入之前,预先计算从 1 * 1 到 20 * 20(即 2 * 1、3 * 1、4 * 1 等;后跟 2 * 2、3 * 2、4 * 2 等)的每个可能的乘法的值,并将值存储在字典中。它还必须检索用户从字典中请求的值,而不是再次计算它。

我正在考虑以下任一:

  1. 创建 20x2 矩阵或
  2. 创建从 1:20 开始的列表。

这两个选项都将使用 for 循环来预先计算值。

我们在课堂上复习了元组,可以在这里应用吗?如果是这样,如何?

请不要给我代码,除非你需要它来帮助解释

是的,元组在这里适用。

你在这里不需要矩阵,只需要一个嵌套的for循环,比如一个用于i,另一个用于j。在循环中,您可以创建一个元组键((i, j) ),并将乘法结果存储在字典中的该键下:

multiplications[(i, j)] = i * j

甚至

multiplications[i, j] = i * j

因为括号在这里是可选的。

获取用户输入后,您可以查找这些结果:

result = multiplications[userinput1, userinput2]

最终会使用for循环,是的。 如果你有这个想法,你就走在正确的轨道上。 您可能缺少的部分是您可以使用元组作为字典的键。 所以像这样:

{(3, 4): 12} 

将允许您存储该结果的预先计算值。 这可能会让你到达你需要的地方。

相关内容

  • 没有找到相关文章