H4x0r

Zadanie o nazwie H4x0r pochodzi z Olimpiady Informatycznej Juniorów (OIJ) rozgrywanej w roku 2019/2020. Olimpiada jest przeznaczona dla uczniów klas szkoły podstawowej, a więcej o niej można się dowiedzieć z jej strony: oij.edu.pl. Na tej stronie publikuję przykładowe rozwiązanie, które wygeneruje nam 100 punkowy wynik.

Treść zadania

Od dawna wiadomo, że hakerzy posługują się własnym językiem, różnymi skrótami i innymi formami zaciemniania, żeby zacierać ścieżki po sobie. O najlepszych z nich zwykle mawia się „h4x0rzy”.

Niektórzy hakerzy czasami zamieniają niektóre litery na cyfry, żeby ich tekst wyglądał bardziej profesjonalnie. Każde wystąpienie jednej z poniższych liter w tabeli zamieniane jest na odpowiadającą jej cyfrę. Pozostałe znaki pozostają niezmienione.

Napisz program, który wczyta napis, przekształci go do hakerskiego slangu zgodnie z powyższą tabelą i wypisze wynik na standardowe wyjście.

Przykładowe wejścia i wyjścia

  • Dla "haxor" wyjściem powinno być "h4x0r"
  • Dla "rigcz" wyjściem powinno być "r1gcz"
  • Dla "aeios" wyjściem powinno być "43105"

Pełna treść zadania znajduje się tutaj.

Kod programu

1
2
3
4
5
6
7
8
9
10
11
12
litery = {'a': '4', 'e': '3', 'i': '1', 'o': '0', 's': '5'}
res = ''

s = input('')

for i in s:
    if i in litery:
        res += litery[i]
    else:
        res += i

print(res)

W skrypcie używam jednej pętli do sprawdzenia każdej litery z podanego stringa. Jeśli znajduje się w słowniku, który zadeklarowałem wcześniej, to wtedy następuje jego podmianka na żądaną cyfrę.