Pomoc w refaktorze i czystym napisaniu funkcji

0
from machine import Pin
import time

Kontaktron0 = Pin (20, Pin.IN, Pin.PULL_UP)
Kontaktron1 = Pin (21, Pin.IN, Pin.PULL_UP)
Kontaktron2 = Pin (22, Pin.IN, Pin.PULL_UP)
Kontaktron3 = Pin (23, Pin.IN, Pin.PULL_UP)

led = Pin(25, Pin.OUT)

while True:
    print (Kontaktron0.value())
    time.sleep_ms(1000)
    print (Kontaktron1.value())
    time.sleep_ms(1000)
    print (Kontaktron2.value())
    time.sleep_ms(1000)
    print (Kontaktron3.value())
    time.sleep_ms(1000)

Mam przykładowy kod, który można lepiej napisać np w funkcji?

4

A po co? Masz 10 linijek kodu, który jest prosty jak budowa cepa i co chcesz z nim zrobić? Dodać kolejne 40 tylko po to żeby było fancy? Jak będziesz miał kod, który naprawdę coś robi to wtedy możesz go pisać "lepiej" lub "gorzej"

3

Można to sparametryzować, w oczywisty sposób:

while True:
    for i in range(4):
	    print(Pin(20 + i, Pin.IN, Pin.PULL_UP).value())
		time.sleep_ms(1000)

Można wydzielić wywołanie kontaktronu, jeśli jest taka potrzeba:

def Konaktron(n):
    Pin(20 + n, Pin.IN, Pin.PULL_UP)

while True:
    for i in range(4):
	    print(Konaktron(i).value())
		time.sleep_ms(1000)
0

Czy powinienem bardziej zaznajomić się z python-em czy mogę iść Od razu w microPythona?

0

Nauczyć się jako hobby.

0
Konsolatest napisał(a):
from machine import Pin
import time

Kontaktron0 = Pin (20, Pin.IN, Pin.PULL_UP)
Kontaktron1 = Pin (21, Pin.IN, Pin.PULL_UP)
Kontaktron2 = Pin (22, Pin.IN, Pin.PULL_UP)
Kontaktron3 = Pin (23, Pin.IN, Pin.PULL_UP)

led = Pin(25, Pin.OUT)

while True:
    print (Kontaktron0.value())
    time.sleep_ms(1000)
    print (Kontaktron1.value())
    time.sleep_ms(1000)
    print (Kontaktron2.value())
    time.sleep_ms(1000)
    print (Kontaktron3.value())
    time.sleep_ms(1000)

Mam przykładowy kod, który można lepiej napisać np w funkcji?

W takiej postaci jakiej teraz jest, to najlepiej to zostawić tak jak jest.

1 użytkowników online, w tym zalogowanych: 0, gości: 1