Algorytmy na tekstach

Edytor Python blokowy  

Program prosty


Opis działania programu

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:

  1. input – zatrzymuje działanie i czeka, aż wpiszesz parę znaków (na przykład 4d) i naciśniesz Enter.
  2. int – zamienia wpisany tekst w systemie szesnastkowym na zwykłą liczbę dziesiętną (dla kodu 4d będzie to liczba 77).
  3. chr – sprawdza w uniwersalnej tabeli znaków ASCII, jaka litera jest przypisana do tej liczby (dla liczby 77 jest to litera M).


  1. kod = input("Podaj HEX: ")
  2. # 1. Zamiana tekstu HEX na zwykłą liczbę (dziesiętną)
  3. liczba = int(kod, 16)
  4. # 2. Zamiana liczby na literę z tabeli ASCII
  5. litera = chr(liczba)
  6. # 3. Wyświetlenie gotowej litery
  7. print("Litera:", litera)




Program zaawansowany


  1. print("--- DEKODER MARSJAŃSKI PATHFINDER ---")
  2. print("Wpisz kod HEX (np. 4d) i naciśnij Enter.")
  3. print("Aby zakończyć, wpisz: koniec
    ")
  4. while True:
  5. # Pobieramy kod od użytkownika i usuwamy zbędne spacje na końcach
  6. wejscie = input("Podaj kod HEX: ").strip()
  7. if wejscie.lower() == "koniec":
  8. # Jeśli użytkownik wpisze 'koniec', przerywamy działanie pętli
  9. print("Łączność z Ziemią zakończona.")
  10. break
  11. if not wejscie:
  12. # Jeśli użytkownik nic nie wpisał i wcisnął Enter, pomijamy tę rundę
  13. continue
  14. try:
  15. # Próbujemy zamienić tekst szesnastkowy na liczbę, a potem na znak ASCII
  16. liczba_10 = int(wejscie, 16)
  17. litera = chr(liczba_10)
  18. print(f"Wynik: {wejscie} -> liczba {liczba_10} -> Litera: '{litera}'
    ")
  19. except ValueError:
  20. # Jeśli wpisano złe znaki (np. spoza zakresu 0-9 i A-F), program wyświetli ostrzeżenie
  21. print("Błąd! Kod HEX może zawierać tylko cyfry 0-9 oraz litery A-F.
    ")