Untitled
unknown
plain_text
2 years ago
1.9 kB
8
Indexable
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()
Editor is loading...
Leave a Comment