我正在为一些softwate编写一个附加组件,使用它的API。我需要做的是提取必要的数据。 我用'FOR'来思考API类。每个对象都有属性:索引(从0开始)、类型(Lin、Ptp等)和value。在查看对象列表时,我对两种类型的对象感兴趣—类型为“Lin”或“Ptp”;因此应满足以下几个条件:
关于Lin类型:
至于Ptp类型,它总是有自己的值
由于我是Python的初学者,我的想法现在混杂在一起,我无法想出合适的算法。在
我想应该是这样的:
for object in obects:
If object.type == Ptp:
...object gets its own value
elif object.type == Lin:
...
在这里,根据[...Lin]
或{
我将使用名为finite-state machine或FSM的东西来检查API对象。当您遇到不同的类型和相关属性时,您可以存储有关在FSM的“state”中看到的内容的信息,该状态还可以确定下一个“event”(您正在迭代的项)发生或遇到时会发生什么。收集到的信息可以根据需要输出(即当达到某个状态时)。在
FSM是一个相当简单的精益和编程概念(几乎在任何语言中),对于这类问题非常有用。在
如果你想想出一个合适的算法,那就退后一步。<强>忘记Python (C++,FORTRAN,LOGO,AWK等),并考虑你正在试图解决的问题。试着在纸上写些伪代码。在
从您的伪代码中,Python应该变得更加明显,任何技术上的困难都可以作为StackOverflow上更具体的问题提出(例如),或者向您的同事提出。在
我建议您对对象进行迭代,并记住}类型的最后一次出现(无论它们是什么。。。:):
Lin
或{或者类似的事情。。。在
相关问题 更多 >
编程相关推荐