Ten program to prosty dekoder wiadomości. Działa w pętli bez końca, co oznacza, że po wpisaniu jednego kodu nie wyłącza się, tylko od razu prosi o kolejny.
W każdej rundzie program wykonuje następujące kroki:
input – zatrzymuje działanie i czeka, aż wpiszesz parę znaków (na przykład 4d) i naciśniesz Enter.int – zamienia wpisany tekst w systemie szesnastkowym na zwykłą liczbę dziesiętną (dla kodu 4d będzie to liczba 77).chr – sprawdza w uniwersalnej tabeli znaków ASCII, jaka litera jest przypisana do tej liczby (dla liczby 77 jest to litera M).
kod = input("Podaj HEX: ")# 1. Zamiana tekstu HEX na zwykłą liczbę (dziesiętną)liczba = int(kod, 16)# 2. Zamiana liczby na literę z tabeli ASCIIlitera = chr(liczba)# 3. Wyświetlenie gotowej literyprint("Litera:", litera)
print("--- DEKODER MARSJAŃSKI PATHFINDER ---")print("Wpisz kod HEX (np. 4d) i naciśnij Enter.")print("Aby zakończyć, wpisz: koniec
")while True:# Pobieramy kod od użytkownika i usuwamy zbędne spacje na końcachwejscie = input("Podaj kod HEX: ").strip()if wejscie.lower() == "koniec":# Jeśli użytkownik wpisze 'koniec', przerywamy działanie pętliprint("Łączność z Ziemią zakończona.")breakif not wejscie:# Jeśli użytkownik nic nie wpisał i wcisnął Enter, pomijamy tę rundęcontinuetry:# Próbujemy zamienić tekst szesnastkowy na liczbę, a potem na znak ASCIIliczba_10 = int(wejscie, 16)litera = chr(liczba_10)print(f"Wynik: {wejscie} -> liczba {liczba_10} -> Litera: '{litera}'
")except ValueError:# Jeśli wpisano złe znaki (np. spoza zakresu 0-9 i A-F), program wyświetli ostrzeżenieprint("Błąd! Kod HEX może zawierać tylko cyfry 0-9 oraz litery A-F.
")