Как я могу автоматически создавать нумерованные переменные в Python

Я новичок в Python и играл с ним и датчиками температуры на Raspberry Pi во время пандемии. Я пытаюсь сравнить три датчика DHT22 друг с другом и отобразить результат на ЖК-экране. У меня есть следующее, но я знаю, что это может быть более элегантно.

dht1 = dht.DHT22(board.D26)
dht2 = dht.DHT22(board.D19)
dht3 = dht.DHT22(board.D13)

#getting the values from the sensors left as floats for math
t1 = dht1.temperature
t2 = dht2.temperature
t3 = dht3.temperature
h1 = dht1.humidity
h2 = dht2.humidity
h3 = dht3.humidity

#convert to strings for display
t1s = str(t1)
t2s = str(t2)
t3s = str(t3)
h1s = str(h1)
h2s = str(h2)
h3s = str(h3)

#a little math
tavg = round(((t1 + t2 + t3)/3), 1)
tavgs = str(tavg)

havg = round(((h1 + h2 + h3)/3), 1)
havgs = str(havg)

Я хотел бы иметь возможность повторять их, чтобы мне не приходилось дублировать одни и те же операции снова и снова, но я не могу получить for i in range(1, 3) или списки или что-то еще, чтобы работать для создания имен переменных или итераций, принимая измерения.

Любые идеи? Спасибо!

Вы можете сохранить переменные в списке: sensors = [dht1, dht2, dht3], а затем перебирать этот список.

thornejosh 30.03.2021 21:33

согласовано. Или вы также можете использовать словарь, например: sensors[dht1] = val

S.Chauhan 30.03.2021 21:35
boards = [board.D26, board.D19, board.D13]; dhts = [dht.DHT22(b) for b in boards]; tavg = round(sum(t.temparatue for t in dhts) / len(dhts), 1)… Надеюсь, вы уловили идею…
deceze 30.03.2021 21:35
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
3
20
0

Другие вопросы по теме