gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:37:34 29 4
gpt4 key购买 nike

我有一个 4000,000 条数据的文件。我开始用 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

那么,您能指导我如何完成这个过程吗?

非常感谢。

最佳答案

我会创建一个 finite-state machine每个数字都有一个状态(7 个状态,1 到 7)。在每一行:

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

关于python - 如何使用 python 在文件中找到连续数字的路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55370786/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com