Lab Podstawy Python
Lab Podstawy Python
1 Wstęp
Python jest wszechstronnym językiem programowania wysokiego poziomu, który jest ceniony za
swoją czytelność i prostotę składni. Jego elastyczność sprawia, że jest idealnym narzędziem zarówno
dla początkujących programistów, jak i do zaawansowanych zastosowań w nauce i inżynierii.
1.1.1 Pętle
• Pętla for: Umożliwia iterację po sekwencji elementów, takich jak lista, krotka czy łańcuch
znaków.
f o r e l e m e n t i n elementy :
# kod
1
1.2.1 Podstawowe typy danych
• Liczby całkowite (int)
l i c z b a c a l k o w i t a = 42
x = 5.7
x int = int (x) # x int = 5
x str = str (x) # x str = ”5.7”
2
1.4 Obsługa błędów i wyjątki
Mechanizm wyjątków pozwala na przechwytywanie i obsługę błędów.
try :
# kod , k t o r y moze wygenerowac b l a d
e x c e p t TypWyjatku :
# o b s l u g a wyjatku
Przykład:
try :
wynik = 10 / 0
except ZeroDivisionError :
p r i n t ( ” Nie mozna d z i e l i c p r z e z 0 ! ” )
Generowanie własnych wyjątków:
i f warunek niepoprawny :
r a i s e V a l u e E r r o r ( ” Opis ” )
p l i k = open ( ” n a z w a p l i k u . t x t ” , ” t r y b ” )
# o p e r a c j e na p l i k u
plik . close ()
Tryby otwierania plików:
• "r": odczyt
# Czytanie
zawartosc = p l i k . read ( )
# Zapisywanie
p l i k . w r i t e ( ” I n f o r m a c j a do z a p i s a n i a ” )
3
1.6 Biblioteka NumPy
NumPy (Numerical Python) to biblioteka służąca do obliczeń naukowych i inżynierskich.
# Tworzenie t a b l i c y
t a b l i c a = np . a r r a y ( [ [ 1 . 0 , 2 . 0 ] , [ 3 . 0 , 4 . 0 ] ] )
# Dostep do elementow
element = t a b l i c a [ 0 , 1 ] # element = 2.0
• Funkcje matematyczne
s i n u s = np . s i n ( a )
• Sumowanie
s u m a c a l k o w i t a = np . sum ( t a b l i c a )
2 Zadanie do wykonania
Zadanie 1 Podstawy wykorzystania pętli, warunków logicznych i podstawowych typów zmiennych.
2pkt Napisz funkcję, która dla każdej liczby między 1, a 50 wypisze:
– ”Cztery” jeśli liczba jest podzielna przez 4,
– ”Sześć” jeśli liczba jest podzielna przez 6,
– ”Cztery Sześć” jeśli liczba jest podzielna przez 4 i 6
4
2pkt Napisz funkcję, która dla podanego ciągu znaków stworzy słownik, w którym dla każdej
występującej litery poda jej liczbę wystąpień.
2pkt Napisz funkcję, która dla wprowadzonej wartości typu float zwróci krotkę (tuple) gdzie
liczba będzie przekonwertowana na (string, int, float). Kolejność jest ważna.
Zadanie 2 Badanie typów zmiennych i obsługa błędów. Umiejętność zapisywania do pliku.
2pkt Napisz funkcję, która przyjmie dwa argumenty z czego pierwszym będzie dowolna zmien-
na, a drugim będzie typ zmiennej (np. int, float) z domyślną wartością str. Funkcja
powinna sprawdzać czy typ pierwszego argumentu jest taki sam jak podany w drugim
argumencie. W przypadku kiedy typy są takie same funkcja powinna zwracać True, a w
przeciwnym generować błąd TypeError.
3pkt Wykorzystując wcześniej napisaną funkcję, stwórz program, który dla dwóch podanych
list (w pierwszej liście mamy zmienne, a w drugiej typy) sprawdzi czy zmienna z pierwszej
listy ma ten sam typ co typ w drugiej liście a następnie wpisze do pliku (types.txt) rezultat
(”Tak” jeśli typy są takie same i ”Nie” jeśli są różne). Jeśli plik istnieje należy go zastąpić.
Zadanie 3 Wczytywanie danych z plików.
4pkt Wczytaj plik wygenerowany w Zadaniu 2, a następnie policz ile razy pojawiła się wartość
”Tak” i ”Nie”. Kolejność zwracanych wartości jest ważna.
Zadanie 4 Obsługa pakietu numpy.
3pkt Napisz funkcję, której argumentem będzie macierz w postaci listy list lub zmienna np.array
zawierających wartości zmiennoprzecinkowe (o dowolnym wymiarze N × M ). Funkcja
powinna sprawdzić czy konwersja jest możliwa (jeśli nie to funkcja powinna zwrócić
−1, −1, −1), a następnie zwróć sumę wszystkich elementów, sumę dla każdej kolumny,
sumę dla każdego wiersza.
Dodatkowe Elementy dodatkowe podlegające ocenie.
2pkt. Rozumienie kodu – weryfikowane przez pytanie lub modyfikację dowolnego fragmentu
(opcjonalne i wymaga rozwiązanego zadania w trakcie zajęć).
-10pkt. Brak zrozumienia napisanego kodu podczas zajęć.
3 Ocena końcowa
Każde uzasadnione podejrzenie pracy wspólnej lub kopiowania rozwiązań od innych prowadzi do
niezliczenia zadania bez możliwości poprawy. Dotyczy to osoby ściągającej oraz udostępniającej
rozwiązanie.