Odległość Hamminga

Zadanie 15 z 19 · rozdział 11Trudność: 2 z 3napisyporównywaniepętle

Treść zadania

Wczytaj dwa napisy tej samej długości i policz, na ilu pozycjach mają różne znaki (tzw. odległość Hamminga). Wielkość liter ma znaczenie.

Dane wejściowe

  • 1. linia: napis s1 (bez spacji)
  • 2. linia: napis s2 (bez spacji, tej samej długości co s1)

Dane wyjściowe

Jedna linia: odległość Hamminga.

Przykład

Wejście
adam
axam
Wyjście
1

Potrzebujesz teorii?

Zasady obowiązujące w rozdziale 11

Zadania w tym rozdziale ćwiczą podstawowe operacje na napisach: indeksowanie, wycinanie, zamianę znaków, dzielenie zdania na słowa i składanie napisów z części.

Konwencje wspólne:

  • Każde zadanie jest osobnym programem: czyta standardowe wejście i wypisuje wynik na standardowe wyjście.
  • Program nie wypisuje komunikatów typu „Podaj napis:”.
  • Napis lub zdanie wczytuj jako całą linię — może zawierać spacje.
  • Słowo to fragment zdania oddzielony od innych spacjami. Znaki interpunkcyjne (np. . , ! ? ; : - ( ) ") stojące na początku lub końcu fragmentu nie należą do słowa (kota. → kota), a fragment złożony wyłącznie z interpunkcji (np. samotny myślnik -) nie jest słowem. W Pythonie słowa uzyskasz tak: podziel zdanie metodą split(), z każdego fragmentu usuń interpunkcję metodą strip(string.punctuation) i pomiń puste wyniki.
  • Gdy wynikiem jest lista, wypisz ją tak, jak robi to print(lista) w Pythonie, np. ['Ala', 'ma', 'kota']. Pusta lista to [].

Zadanie pochodzi z otwartego zbioru Nauka-Programowania (z rozwiązaniami wzorcowymi). Zgłoś błąd w treści lub testach.

Python uruchomi się w przeglądarce przy pierwszym teście.

Kod zapisuje się automatycznie w tej przeglądarce. Tab wstawia wcięcie; aby opuścić edytor klawiaturą, naciśnij Esc, a potem Tab.

Testy

Program dostaje „Wejście” przez input() i musi wypisać „Oczekiwane wyjście”. Liczby porównywane są z tolerancją 0,01, a tekst podany w input("…") nie jest sprawdzany.

Test 1

Nie uruchomiono
Wejście
abcd
abxd
Oczekiwane wyjście
1

Test 2

Nie uruchomiono
Wejście
1010
0101
Oczekiwane wyjście
4

Test 3

Nie uruchomiono
Wejście
kot
kot
Oczekiwane wyjście
0

Test 4

Nie uruchomiono
Wejście
Ala
ala
Oczekiwane wyjście
1

Test 5

Nie uruchomiono
Wejście
kotek
kubek
Oczekiwane wyjście
2

Test 6

Nie uruchomiono
Wejście
abcdef
fedcba
Oczekiwane wyjście
6
Uruchom z własnymi danymi