python怎样实现arduino那样的运行结构setup()--loop()?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python怎样实现arduino那样的运行结构setup()--loop()?相关的知识,希望对你有一定的参考价值。

如题, void setup () 初始化一次 void loop () 无限循环

参考技术A 这个是由arduino的库函数决定的,硬件轮询调用loop的。
所以python里面只能自己模拟了,写个while循环,不停调用loop函数。

如果其他的Python

我只是意识到这段代码无法像我希望的那样工作...

for i in [0,2,4]:
    if i%2==0:
        print i
else:
    print "There are no EVEN #s"

那么编码这种结构的最佳方法是什么

这个想法是如果“ if”语句在“ for”循环的所有迭代中都没有变为真,则运行“ else”语句代码

答案

我认为,更“ pythonic”的方法是过滤列表并检查过滤后的列表是否包含任何元素以找出要打印的内容:

lst = [0, 2, 4]
filtered = [x for x in lst if x%2 == 0]
if filtered:
    for item in filtered:
        print item
else:
    print "No evens"
另一答案

只需在if语句中设置一个标志,即可在for循环完成运行后检查该标志。

例如

flag = False
for i in [0,2,4]:
    if i%2==0:
        print i
        flag = True

if not flag:
    print "There is an ODD #"
另一答案

该代码无法正常运行,因为ifelse不在同一范围内。 但是,您可能想使用Python中的for...else语法。 有关此信息,请参见此处 。 要使用for...else语法,您需要在for循环内有一个break语句。 如果中断,则不调用else ,否则在循环完成后调用else

但是,如果没有break语句,则else语句始终运行。

这是您的代码,已更正:

for i in [0,2,4]:
    if i%2==0:
        print i
        break
else:
    print "There are no EVEN #s"

一旦循环遇到偶数,循环就会中断。 否则,如果循环将完全执行(即遍历整个列表),那么它还将运行else 。 仅供参考,以下是奇数列表上的循环:

for i in [1,3,5]:
    if i%2==0:
        print i
        break
else:
    print "There are no EVEN #s"
另一答案

如果您只想检查是否存在偶数并且不关心该值,请使用any

if any(i % 2 == 0 for i in [0,2,4,5]):
        print "The list has even numbers"          
else:
    print "There are no EVEN #s"

只要找到任何偶数, any就会延迟返回True;如果列表中没有偶数,则返回False。

以上是关于python怎样实现arduino那样的运行结构setup()--loop()?的主要内容,如果未能解决你的问题,请参考以下文章

通过 USB 从 Python 到 Arduino 的通信

ky-040 for arduino arduino模块怎样接线

Arduino实现C++方式打印输出

怎样用Visual Basic6.0编写木马程序

求助:Arduino同时执行2个步进电机命令

java swing开发的CS结构的应用程序怎样在浏览器IE或火狐中运行