Python:真或假

Tol*_*rol 3 python boolean-logic boolean while-loop

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

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"
Run Code Online (Sandbox Code Playgroud)

...

Mar*_*ers 7

使用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
Run Code Online (Sandbox Code Playgroud)

TrueFalse线没有做你的代码什么; 它们只是引用内置的布尔值而不将它们分配到任何地方.