编程语言
首页 > 编程语言> > Python:真或假

Python:真或假

作者:互联网

我不是一个经验丰富的程序员,我的代码有问题,我认为这是我的逻辑错误,但我在http://anh.cs.luc.edu/python/hands-on/3.1/handsonHtml/whilestatements.html找不到答案.
我想要的是检查串行设备是否被锁定,“它被锁定”和“它没有被锁定”的条件之间的不同是在包含GPGGA字母的行中有4个逗号,,,,.所以,如果没有,,,,我希望我的代码启动,但我想我的循环是错误的.任何建议将不胜感激.提前致谢.

import serial
import time
import subprocess


file = open("/home/pi/allofthedatacollected.csv", "w") #"w" will be "a" later
file.write('\n')
while True:
    ser = serial.Serial("/dev/ttyUSB0", 4800, timeout =1)
    checking = ser.readline();
    if checking.find(",,,,"):
        print "not locked yet"
        True
    else:
        False    
        print "locked and loaded"

.
.
.

解决方法:

使用break退出循环:

while True:
    ser = serial.Serial("/dev/ttyUSB0", 4800, timeout =1)
    checking = ser.readline();
    if checking.find(",,,,"):
        print "not locked yet"
    else:
        print "locked and loaded"
        break

True和False行在您的代码中没有做任何事情;它们只是引用内置的布尔值而不将它们分配到任何地方.

标签:python,while-loop,boolean,boolean-logic
来源: https://codeday.me/bug/20190722/1506268.html