Nazwa pliku bez rozszerzenia

Zadanie 11 z 13 · rozdział 23Trudność: 2 z 3regexstringścieżki

Treść zadania

Wczytaj ścieżkę do pliku. Wyodrębnij z niej nazwę pliku (część po ostatnim separatorze / lub \; ścieżka może mieszać oba separatory) i usuń z niej rozszerzenie.

Rozszerzenie to ostatnia kropka w nazwie pliku razem ze wszystkimi znakami po niej — chyba że ta kropka jest pierwszym znakiem nazwy (np. .bashrc nie ma rozszerzenia). Kropki w nazwach folderów nie mają znaczenia. Nazwa bez kropki zostaje bez zmian.

Dane wejściowe

  • 1. linia: ścieżka (nie kończy się separatorem)

Dane wyjściowe

Jedna linia: nazwa pliku bez rozszerzenia.

Uwagi

  • Nazwę pliku dopasuje wzorzec [^\\/]+$ („znaki inne niż ukośniki aż do końca napisu”).

Przykłady

Wejście
C:\my-long\path_directory\file.html
Wyjście
file
Wejście
backup/archiwum.tar.gz
Wyjście
archiwum.tar

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ąc input() n razy.
  • Dla wartości logicznych wypisuj dokładnie Prawda lub Fał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-czerwona to dwa słowa: biało i czerwona. 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.

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
C:/path/to/file.txt
Oczekiwane wyjście
file

Test 2

Nie uruchomiono
Wejście
folder/inner/archive.tar.gz
Oczekiwane wyjście
archive.tar

Test 3

Nie uruchomiono
Wejście
/home/user/var/log/syslog
Oczekiwane wyjście
syslog

Test 4

Nie uruchomiono
Wejście
C:\Program Files\my.app\config
Oczekiwane wyjście
config

Test 5

Nie uruchomiono
Wejście
/home/jan/.bashrc
Oczekiwane wyjście
.bashrc

Test 6

Nie uruchomiono
Wejście
raport.final.pdf
Oczekiwane wyjście
raport.final

Test 7

Nie uruchomiono
Wejście
D:\Zdjęcia/wakacje 2024\morze.JPG
Oczekiwane wyjście
morze
Uruchom z własnymi danymi