Привет я struging, чтобы получить мою голову раунд уровни indentaion с этим code-Python отступы новичку
def getSolarFlowtemperature():
#Open the temperature sensor, read it and process the result
tfile = open("/sys/bus/w1/devices/28-000003086819/w1_slave")
text = tfile.read()
tfile.close()
temperature_data = text.split()[-1]
temperature = float(temperature_data[2:])
temperature = temperature/1000
#This while function checks for the error temperatures, and tries to read the sensor again to get a proper value. After 10 tries it stops
count = 0
while temperature == -0.062 or temperature == -0.125:
time.sleep(2)
count = count + 1
print 'Temperature error on 28-000003086819, retrying'
tfile = open("/sys/bus/w1/devices/28-000003086819/w1_slave")
text = tfile.read()
tfile.close()
temperature_data = text.split()[-1]
temperature = float(temperature_data[2:])
temperature = temperature/1000
if count > 10:
break
else:
return(temperature)
Может кто-нибудь посоветовать, где отступы неверна?
Стив
Спасибо за это, хотел бы получить больше советов относительно разрыва, не имеющего смысла, где он есть. Это код, который я снял и модифицировал для своего использования, поскольку я новичок :) Идея состоит в том, что функция пытается в 10 раз получить значение, которое я считаю. –
Перерыв, вырвется из структуры цикла и остановит итерации, поэтому он должен быть как бы вложен в петлю. Здесь мы видим разрыв в if, если в то время как разрыв относится к while. Если бы был еще один цикл, он вырвался бы из внутреннего цикла. Использование break out из контекста цикла невозможно, и это ничего не значит, потому что не будет итерации, чтобы остановить, попробуйте, вы получите сообщение об ошибке :) – lc2817