如何使用python查找文件中连续数字的路径?

2024-09-27 23:27:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个400万数据的文件。我开始用python编程。我想找到一条7比1的路。但我有一些条件:

1.-路径必须是降序的,例如:7,6,5….1(希望是连续的),但可以是7,6,3,1。主要目标是下降(第二列)。假设行之间的基片必须等于1才能识别它们

2.-这条路不能向上走。例如:如果我在7,6,5中,那么6是不正确的。下一个数字5必须是数字4,或其他更低但不更高的数字。我想线之间的基底必须是-1才能识别它们

3.-可以重复这些数字。例如,如果我在7,我可以有一些行在7之前通过6,这将是好的。记住,最主要的目标不是上升,而是下降。我想结果是常数0或1。你知道吗

4.-如果其中一个条件为假,那么: a) 重新开始,但第一行是7。我是说,从下一行开始,那里是7(文件中的第二个7) 如果没有从7开始的路径,那么取6,依此类推,直到找到到达1的路径。 b) 或者从流程中断的最后一行开始。(我不知道这个选项是否有效)

在简历中,我想找到一条从7到1的路径,以下降的方式,不要上升。你知道吗

输入文件是:

 1  6
 2  6
 3  6
 4  7
 5  7
 6  3
 7  3
 8  5
 9  7
 10 6

…所以等等

输出文件:

45   7 
46   7
47   7
48   7 
49   6
50   6
51   5
52   5
53   4
54   3
55   2
56   1

或者

50      7
51      6
52      5
53      4
54      3
55      2
56      1

那么,你能指导我怎么做这个过程吗?你知道吗

非常感谢。你知道吗


Tags: 文件数据路径目标选项编程方式常数
1条回答
网友
1楼 · 发布于 2024-09-27 23:27:43

我将创建一个finite-state machine,每个数字对应一个状态(7个状态,1到7)。每行:

  • 如果当前行上的数字是7:创建一个新的机器实例(它将是一个类)并将其推送到“活动”自动机列表中。你知道吗
  • 在所有机器上调用.add_number(parsed_number)。此函数记住数字并返回三种可能结果之一:
    • 0-我不接受这个数字,把我扔掉(你必须模拟所有的状态转换,基本上是从大到小的任何转换)。你知道吗
    • 我已经接受了号码,什么也不做。你知道吗
    • 2-我接受了这个数字,数字是1:打印我积累的东西,然后把我扔掉。你知道吗

相关问题 更多 >

    热门问题