【发布时间】:2014-10-18 12:09:40
【问题描述】:
我不是经验丰富的程序员,我的代码有问题,我认为这是我的逻辑错误,但我在 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"
。 . .
【问题讨论】:
-
您希望
True和False在这里做什么?它们只是对一行中布尔值的引用,否则将在此处丢弃。 -
@MartijnPieters 我希望,如果 'False' ,它会退出 while 循环,脚本继续到我没有包含的另一个循环
-
一行上的布尔值不这样做。您想使用
break退出循环。 -
@MartijnPieters 那么,如果条件为“假”,这意味着读取的行中没有“,,,,”,我该如何破解
标签: python while-loop boolean boolean-logic