【发布时间】:2017-05-10 23:45:46
【问题描述】:
我是 pythin 的新手,并试图为正在收集的一些数据制定一个 if 语句。
import grovepi
import time
import datetime
import grovelcd
#headerline
print ("Time,Noise (db),Light (lux),Temperature (C),Humidity (rH)")
这里我有已经存在的标题行,用于将它们打印到 csv 文件中。我想要另一个显示我在下面概述的信息。
while True:
timestamp=time.time()
#read from a analog sensor on input 1
d= grovepi.analogRead(1)
#read from an analog sensor on input 2
a= grovepi.analogRead(2)
#read from an digital sensor on input 3
(t,h)=grovepi.dht(3,0)
以上是每个传感器的读数
print ("%f,%d,%d,%f,%f"%(timestamp,d,a,t,h))
我想要的是一个附加值,我在获取 if 语句以获取该值并确定它是否与我想要的匹配时遇到问题。所有这些都应该是数值。
我的想法是
if t > 35:
print("Warning")
if h > 50:
print("Warning")
if n > 75:
print("Warning")
else:
print("OK")
基本上我的输出看起来像这样:
Noise Light Temperature Humidity
85 500 34 76
我想要实现的是:
Noise Light Temperature Humidity Note
85 500 34 76 OK
感谢任何帮助,不幸的是我不太了解python。
【问题讨论】:
-
首先,没有内置的
sprint()。此功能是否来自另一个模块?其次,if语句中的else仅指最后一个if。无论t和h的值如何,只有n<=75才会打印OK。如果想在没有警告的情况下打印OK,则需要重写最后一段代码。 -
我已经更改了 sprint,我认为应该是 print
标签: python loops csv if-statement