本站消息

站长简介/公众号


站长简介:逗比程序员,理工宅男,前每日优鲜python全栈开发工程师,利用周末时间开发出本站,欢迎关注我的微信公众号:幽默盒子,一个专注于搞笑,分享快乐的公众号

  价值13000svip视频教程,python大神匠心打造,零基础python开发工程师视频教程全套,基础+进阶+项目实战,包含课件和源码

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

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

发布于2021-08-17 18:48     阅读(1136)     评论(0)     点赞(24)     收藏(3)



我有一个包含 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

那么,你能指导我如何做这个过程吗?

非常感谢。


解决方案


我会创建一个有限状态机,每个数字都有一个状态(7 个状态,1 到 7)。在每一行:

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





所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:https://www.pythonheidong.com/blog/article/1022773/3d1bbdfc81216979ab72/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

24 0
收藏该文
已收藏

评论内容:(最多支持255个字符)