Wielkie → małe (bitowo)

Zadanie 13 z 17 · rozdział 16Trudność: 2 z 3ASCIIbitwisestring

Treść zadania

Wczytaj napis. Zamień wszystkie wielkie litery alfabetu łacińskiego (A–Z) na małe, używając operacji bitowych na kodach ASCII. Pozostałe znaki pozostaw bez zmian.

Dane wejściowe

  • 1. linia: napis (może zawierać spacje, cyfry i znaki interpunkcyjne)

Dane wyjściowe

Jedna linia: napis po zamianie.

Ograniczenia

  • napis ma od 1 do 100 znaków i składa się wyłącznie ze znaków ASCII (bez polskich liter)

Uwagi

  • Kody wielkiej i małej litery różnią się tylko bitem o wartości 32 (0b100000): ord("A") to 65, a ord("a") to 97. Ustawienie tego bitu: ord(znak) | 32.
  • Zmieniaj tylko litery A–Z — np. @ i [ sąsiadują w tablicy ASCII z literami, ale mają pozostać bez zmian.
  • Odwrotną zamianę (małe → wielkie) daje wyzerowanie tego bitu: ord(znak) & ~32.

Przykład

Wejście
Test
Wyjście
test

Potrzebujesz teorii?

Zasady obowiązujące w rozdziale 16

Zadania w tym rozdziale ćwiczą zamianę liczb między systemami liczbowymi oraz operatory bitowe: & (AND), | (OR), ^ (XOR), ~ (NOT) i przesunięcia <<, >>.
Każde zadanie (oraz każdy podpunkt w zadaniach wieloczęściowych) jest osobnym, niezależnym programem: czyta standardowe wejście (stdin) i wypisuje wynik na standardowe wyjście (stdout).

Konwencje wspólne:

  • Każda liczba na wejściu jest w osobnej linii, w kolejności podanej w sekcji Wejście.
  • Liczby na wejściu są nieujemne (0 jest dozwolone), chyba że zadanie wprost mówi inaczej.
  • Zapis binarny wypisuj jako ciąg znaków 0 i 1 **bez spacji, bez prefiksu 0b i bez zer wiodących**; zapis binarny liczby 0 to 0.
  • Dla systemów o podstawie większej niż 10 używaj cyfr 0–9 oraz wielkich liter A–Z.
  • Jeśli zadanie mówi „nie wypisuj nic” — program nie wypisuje nawet pustej linii.
  • Program nie wypisuje komunikatów typu „Podaj liczbę:”.

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
TeSt123
Oczekiwane wyjście
test123

Test 2

Nie uruchomiono
Wejście
ABC
Oczekiwane wyjście
abc

Test 3

Nie uruchomiono
Wejście
Ala ma KOTA!
Oczekiwane wyjście
ala ma kota!

Test 4

Nie uruchomiono
Wejście
hello
Oczekiwane wyjście
hello

Test 5

Nie uruchomiono
Wejście
A@Z[ x
Oczekiwane wyjście
a@z[ x
Uruchom z własnymi danymi