Diskuze: Python_Měření teploty

Člen

Zobrazeno 11 zpráv z 11.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
Ahoj, no ta chyba ti říká, kde bude problém. Tyto netisknutelné znaky (hlavně tab a nové řádky) jsou v Pythonu důležité pro oddělení kódu metod, podmínek apod...
Jaké použiváš IDE nebo editor? Nějaký lepší by ti měl tyto "neviditelné" znaky ukázat, podle mě tam máš někde o mezeru na víc nebo několik mezer místo TABu.
Za sebe bych doporučil PyCharm, který je v Community edici zdarma a Python se v něm píše krásně.
Píši to v Thonny Python IDE, Zkusím PyCharm tedy. Díky
já jsem používal na skouknutí odsazení notepad++
pycharm mám nainstalovaný taky, ale nemám ho rád, je pomalý a vytváří
podivné struktury okolo projektu
ALE pohodlně se v něm díky tomu dá udělat distribuční balíček a lehce
se v něm ladí, a vůbec má spoustu "bells and whistles"
s postupující praxí tě přestane odsazení trápit, zvykneš si
nejlepší je IDLE, je vestavěné, můžeš ho mít také ve tmavém motivu a chybové hlášky jsou stejné jako v pycharmu
trochu kecám,máš na těch řádkách odsazení navíc, ale ty ho máš
skoro všude
V pythonu si nemůžeš udělat odsazení navíc.
IDLE mi přijde na cokoliv serioznějšího naprosto nedostatečné, připadám si v něm jako ve vylepšeném texťáku z roku 2000 v porovnání s PyCharmem.
Používám ho maximálně na jednoduchou úpravu kódu u uživatele, kde není nic jiného nainstalovaného.
Takže má být vše co není nějaká proměnná hnedka na začátku? Třeba:
def sendDataToServer():
global temperature
global humidity
threading.Timer(10,sendDataToServer).start()
print("Sensing...")
readSensor()
readCPUTemperature()
Nebo jaký v tom je pravidlo?
import os
import threading
import urllib.request, urllib.error, urllib.parse
from sense_hat import SenseHat
sense = SenseHat()
def readSensor():
global temperature
global humidity
global pressure
global cpu_temp
cpu_temp = 0
temperature =0
humidity = 0
pressure = 0
temperature = sense.get_temperature()
humidity = sense.get_humidity()+16.5
pressure = sense.get_pressure()+20
if pressure == 20 :
pressure = sense.get_pressure()+20
humidity = round(humidity,1)
pressure = round(pressure,1)
def readCPUTemperature():
global temperature
cpu_temp = os.popen("/opt/vc/bin/vcgencmd measure_temp").read()
cpu_temp = cpu_temp[:-3]
cpu_temp = cpu_temp[5:]
temperature = sense.get_temperature()
print(cpu_temp)
if cpu_temp == "42.9":
temperature = temperature - 8.2
elif cpu_temp == "44.0":
temperature = temperature - 8.5
elif cpu_temp == "44.5":
temperature = temperature - 8.7
elif cpu_temp == "45.1":
temperature = temperature - 9.0
elif cpu_temp == "46.7":
temperature = temperature - 9.1
elif cpu_temp == "47.2":
temperature = temperature - 9.2
elif cpu_temp == "47.8":
temperature = temperature - 9.3
elif cpu_temp == "48.3":
temperature = temperature - 9.35
elif cpu_temp == "48.9":
temperature = temperature - 9.4
else:
temperature = temperature - 9.5
def sendDataToServer():
global temperature
global pressure
global humidity
threading.Timer(600,sendDataToServer).start()
print("Sensing...")
readSensor()
readCPUTemperature()
temperature = round(temperature,1)
print(temperature)
print(humidity)
print(pressure)
temp= "%.1f" %temperature
hum ="%.1f" %humidity
press = "%.1f" %pressure
urllib.request.urlopen("localhost/mereni/add_data.php?temp="+temp+"&hum="+hum+"&pr="+press).read()
sendDataToServer()
Dobře, už to hází chyby ohledně importování urllib. Ale díky za pomoc
Zobrazeno 11 zpráv z 11.