根据用户输入计算帧数

时间:2019-12-23 16:53:37

标签: python python-3.x algorithm

我有一项服务,可以根据用户输入启动计算任务。我处于一个阶段,用户可以输入他们想要计算的帧,但是我需要一种方法,可以根据输入来计算帧的总数。

输入内容可能如下所示:eg.: "1-4; 10-20,2" will render frames 1, 2, 3, 4, 10, 12, 14, 16, 18, 20. 这将创建输出10

So `;` is like a separator
x - y is from frame x to frame y
x - y , z is every z frame between frame x and frame y

我不确定从哪里开始研究以创建此函数/算法(我希望这是正确的词)。任何能够向我指出某种方向或提供帮助的人,将不胜感激。

1 个答案:

答案 0 :(得分:2)

这是使用Javascript的非常简单的实现。没有输入验证,非常基础/硬编码的逻辑。但这可以作为起点。

首先,将输入字符串分割为“;”然后分别处理每个部分。

var input = "1-4; 10-20,2"
var totFrames = 0;

var chunk = input.split(";")
chunk.forEach(processChunk);

console.log(totFrames);

function processChunk(chunk) {
  var stepInfo = chunk.split(",");
  var step = 1;
  if(stepInfo.length > 1)
    step = stepInfo[1];

  var range = stepInfo[0].split("-");
  var frame = Math.round((range[1]- range[0]+ 1) / step);
  totFrames += frame;
}