Untitled

mail@pastecode.io avatar
unknown
plain_text
2 months ago
1.9 kB
1
Indexable
Never
def odczytaj_aktualne_kolory():
    print("Podaj aktualne położenie kolorów na płaskiej kostce Rubika:")
    print("Dostępne kolory: z (żółty), b (biały), s (szary), c (czarny)")
    kolory = [
        input("Podaj kolory rzędu 1 (żółty): ").split(),
        input("Podaj kolory rzędu 2 (biały): ").split(),
        input("Podaj kolory rzędu 3 (szary): ").split(),
        input("Podaj kolory rzędu 4 (czarny): ").split()
    ]
    return kolory

def odczytaj_zamierzone_ustawienie():
    print("Podaj zamierzone ułożenie kolorów na płaskiej kostce Rubika:")
    print("Dostępne kolory: z (żółty), b (biały), s (szary), c (czarny)")
    kolory = [
        input("Podaj kolory rzędu 1 (żółty): ").split(),
        input("Podaj kolory rzędu 2 (biały): ").split(),
        input("Podaj kolory rzędu 3 (szary): ").split(),
        input("Podaj kolory rzędu 4 (czarny): ").split()
    ]
    return kolory

def generuj_sekwencje_ruchow(aktualne_kolory, zamierzone_kolory):
    sekwencja_ruchow = []

    for rzad, oczekiwane_kolory in enumerate(zamierzone_kolory):
        if aktualne_kolory[rzad] != oczekiwane_kolory:
            pozycja_koloru = aktualne_kolory[rzad].index(oczekiwane_kolory[rzad])
            przesuniecia_w_dol = pozycja_koloru + 1
            sekwencja_ruchow.extend([str(rzad + 1)] * przesuniecia_w_dol)

    if aktualne_kolory[3] != ["c", "c", "c", "c"]:
        sekwencja_ruchow.append("4")

    return sekwencja_ruchow

def main():
    print("Wprowadź kolory jako litery: 'z' (żółty), 'b' (biały), 's' (szary), 'c' (czarny)")
    aktualne_kolory = odczytaj_aktualne_kolory()
    zamierzone_kolory = odczytaj_zamierzone_ustawienie()
    sekwencja_ruchow = generuj_sekwencje_ruchow(aktualne_kolory, zamierzone_kolory)

    print("\nSekwencja ruchów do ułożenia kostki:")
    for ruch in sekwencja_ruchow:
        print("Naciśnij przycisk", ruch)

if __name__ == "__main__":
    main()
Leave a Comment