Zadanie 001.1: Zaawansowane Operacje (Kalkulator Podróży)
Zadanie 001.1: Zaawansowane Operacje (Kalkulator Podróży)
Wstęp
Znasz już podstawy, ale programowanie to coś więcej niż dodawanie i mnożenie. W tym zadaniu wejdziesz na wyższy poziom. Nauczysz się wyciągać fragmenty tekstów (np. inicjały), zamieniać liczby na napisy (i odwrotnie) oraz używać matematyki do przeliczania czasu (np. zamiana 125 minut na 2 godziny i 5 minut). Stworzysz narzędzie, które mogłoby być zalążkiem systemu rezerwacji biletów!
Cel zadania
Napisać skrypt w Pythonie, który symuluje system planowania podróży. Program przetworzy dane o trasie, obliczy dokładny czas (godziny i minuty), koszty oraz wygeneruje unikalny "Kod Biletu" na podstawie nazw miast.
Nowe Koncepcje
1. Dzielenie całkowite i reszta (Modulo)
To kluczowe operacje w programowaniu!
//(Floor Division): Dzielenie bez reszty (zaokrąglenie w dół).%(Modulo): Reszta z dzielenia.
minuty_calkowite = 130
godziny = minuty_calkowite // 60 # Wynik: 2 (bo 2*60=120)
reszta_minut = minuty_calkowite % 60 # Wynik: 10 (bo 130-120=10)
# Efekt: 2 godziny i 10 minut
2. Manipulacja tekstem (Slicing i Metody)
Możesz wycinać kawałki tekstu i zmieniać ich wielkość.
tekst[start:stop]- wycina znaki od indeksustartdostop(bez niego)..upper()- zamienia na wielkie litery.
miasto = "Warszawa"
skrot = miasto[0:3] # Wynik: "War"
kod = skrot.upper() # Wynik: "WAR"
3. Konwersja typów (Casting)
Czasami trzeba zmienić napis na liczbę lub odwrotnie.
liczba_str = "50"
liczba_int = int(liczba_str) # Teraz można na niej liczyć
wynik_txt = str(100) # Teraz to napis "100"
Treść Zadania
Stwórz plik main.py.
-
Zadeklaruj zmienne wejściowe:
miasto_start(np. "Krakow")miasto_cel(np. "Gdansk")dystans(int, w kilometrach, np. 580)cena_paliwa(float, np. 6.55)spalanie_na_100(float, np. 7.5)
-
Obliczenia matematyczne:
- Oblicz
koszt_calkowity:(dystans / 100) * spalanie_na_100 * cena_paliwa. - Załóżmy średnią prędkość 90 km/h. Oblicz
czas_w_godzinach(zmiennoprzecinkowe):dystans / 90. - Wyzwanie: Przelicz ten czas na format "X godz. Y min.".
- Oblicz całkowitą liczbę minut:
int(czas_w_godzinach * 60). - Oblicz pełne godziny: użyj operatora
//. - Oblicz pozostałe minuty: użyj operatora
%.
- Oblicz całkowitą liczbę minut:
- Oblicz
-
Generowanie Kodu Biletu:
- Stwórz zmienną
kod_trasy. Ma ona się składać z:- 3 pierwszych liter miasta startowego (wielkie litery).
- Myślnika
-. - 3 pierwszych liter miasta docelowego (wielkie litery).
- Myślnika
-. - Dystansu przekonwertowanego na napis.
- Przykład dla Kraków-Gdańsk 580km:
KRA-GDA-580.
- Stwórz zmienną
-
Raport końcowy:
- Wyświetl wszystko w ładnej ramce używając f-stringów.
Przykład Wyniku (Terminal)
========================================
BILET PODRÓŻNY
========================================
Trasa: Krakow -> Gdansk
Kod biletu: KRA-GDA-580
----------------------------------------
Dystans: 580 km
Szac. czas: 6 godz. 26 min.
----------------------------------------
Koszt: 284.92 PLN
========================================
Debugowanie
- Jeśli
Kod biletunie ma wielkich liter, sprawdź czy użyłeś.upper(). - Jeśli minuty wychodzą dziwne (np. 80 min), sprawdź obliczenia modulo
%. - Pamiętaj, że indeksy w Pythonie liczymy od 0 (0 to pierwsza litera).
Konfiguracja GIT
git init
git add main.py
git commit -m "Rozwiązanie zadania 001.1: Kalkulator podróży"