Sprawdź poprawność hasła
Treść zadania
Wczytaj hasło i sprawdź, czy spełnia wszystkie warunki:
- ma od 8 do 20 znaków (włącznie),
- zawiera co najmniej jedną małą literę
a–z, - zawiera co najmniej jedną wielką literę
A–Z, - zawiera co najmniej jedną cyfrę
0–9, - zawiera co najmniej jeden znak specjalny spośród:
!#$%&'*+-/=?^_``{|}~`.
Hasło może zawierać także inne znaki (np. spację, @ albo ą). Są one dozwolone, ale nie liczą się do warunków 2–5: ą nie jest literą z zakresu a–z, a @ nie należy do listy znaków specjalnych.
Dane wejściowe
- 1. linia: hasło
Dane wyjściowe
Prawda— jeśli hasło spełnia wszystkie warunki,Fałsz— w przeciwnym razie.
Uwagi
- Każdy z warunków 2–5 sprawdzisz osobnym
re.search(), np.re.search(r"[a-z]", haslo).
Przykłady
abc1234
Fałsz
Hasło jest za krótkie, nie ma wielkiej litery ani znaku specjalnego.
Tajne_Haslo7
Prawda
Potrzebujesz teorii?
Zasady obowiązujące w rozdziale 23
Poniższe zadania polegają na wczytywaniu danych ze standardowego wejścia (stdin) i wypisywaniu wyniku na standardowe wyjście (stdout). Rozwiązuj je za pomocą wyrażeń regularnych (moduł re).
Każde zadanie jest osobnym, niezależnym programem.
Konwencje wspólne:
- Każda wartość wejściowa znajduje się w osobnej linii — wczytuj je dokładnie w podanej kolejności.
- Tekst wielowierszowy jest poprzedzony linią z liczbą jego wierszy
n— wczytaj go, wywołującinput()nrazy. - Dla wartości logicznych wypisuj dokładnie
PrawdalubFałsz. - Wielkość liter ma znaczenie, chyba że zadanie mówi inaczej.
- Słowo to najdłuższy ciąg znaków dopasowywanych przez
\w, czyli liter (także polskich), cyfr i znaku podkreślenia_. Każdy inny znak — spacja, interpunkcja, myślnik — rozdziela słowa, np.biało-czerwonato dwa słowa:białoiczerwona. Granicę słowa w wyrażeniu regularnym oznacza\b. - Program nie wypisuje komunikatów typu „Podaj tekst:”. Tekst podany w
input("…")jest ignorowany przez sprawdzarkę.
Zadanie pochodzi z otwartego zbioru Nauka-Programowania (z rozwiązaniami wzorcowymi). Zgłoś błąd w treści lub testach.
Przywrócono Twój zapisany kod.
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 uruchomionoAbcdef1!
Prawda
Test 2
Nie uruchomionoAbcde1!
Fałsz
Test 3
Nie uruchomionoAbcdefghijklmnop12#$
Prawda
Test 4
Nie uruchomionoAbcdefghijklmnop123#$
Fałsz
Test 5
Nie uruchomionoabcdefg1!
Fałsz
Test 6
Nie uruchomionoABCDEFG1!
Fałsz
Test 7
Nie uruchomionoAbcdefgh!
Fałsz
Test 8
Nie uruchomionoAbcdefg12
Fałsz
Test 9
Nie uruchomionoHaslo123@
Fałsz
Test 10
Nie uruchomionoĄĘÓ1abc!x
Fałsz
Test 11
Nie uruchomionoZażółć1~gęślą
Prawda
Test 12
Nie uruchomionoMoje haslo 1-ok
Prawda