0% found this document useful (0 votes)
16 views5 pages

Lab Podstawy Python

Uploaded by

vidiwo6744
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views5 pages

Lab Podstawy Python

Uploaded by

vidiwo6744
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

Wrocław, 10 grudnia 2024

Technologie Informacyjne — Laboriatorium 8


Python - podstawy

prowadzący: K.Kluwak, M. Skoczeń, M. Zmonarski, M. Ochman M. Filiński

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 Pętle i instrukcje warunkowe


Pętle i instrukcje warunkowe są podstawowymi konstrukcjami w programowaniu, pozwalającymi na
kontrolę przepływu programu.

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

• Pętla while: Wykonuje kod dopóki warunek logiczny jest spełniony.


w h i l e warunek :
# kod

1.1.2 Instrukcje warunkowe


Pozwalają na wykonanie kodu w zależności od spełnienia określonych warunków.
i f warunek1 :
# kod
e l i f warunek2 :
# kod
else :
# kod

1.2 Typy danych i struktury danych


Python obsługuje różne typy danych oraz struktury danych, które pozwalają na efektywne przecho-
wywanie i manipulację informacjami.

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

• Liczby zmiennoprzecinkowe (float)


liczba zmiennoprzecinkowa = 3.14

• Łańcuchy znaków (str)


t e k s t = ” Witaj ! ”

1.2.2 Struktury danych


• Listy (list): Mutowalna sekwencja elementów.
l i s t a = [1 , 2 , 3 , 4 , 5]

• Krotki (tuple): Niemutowalna sekwencja elementów.


krotka = (1 , 2 , 3)

• Słowniki (dict): Kolekcja par klucz-wartość.


s l o w n i k = {” k l u c z 1 ” : ” w a r t o s c 1 ” , ” k l u c z 2 ” : ” w a r t o s c 2 ”}

• Zbiory (set): Nieuporządkowana kolekcja unikalnych elementów.


z b i o r = { 1 , 2 , 3 , 3 , 4} # z b i o r = { 1 , 2 , 3 , 4}

1.3 Konwersja typów danych


Często zachodzi potrzeba zmiany typu danych:
• str(): Konwertuje na łańcuch znaków.
• int(): Konwertuje na liczbę całkowitą.

• float(): Konwertuje na liczbę zmiennoprzecinkową.

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 ” )

1.5 Operacje na plikach


Praca z plikami pozwala na trwałe przechowywanie i odczytywanie danych.

1.5.1 Otwieranie i zamykanie plików

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

• "w": zapis (tworzy nowy plik lub nadpisuje istniejący)


• "a": dopisywanie do pliku

1.5.2 Czytanie i zapisywanie danych

# 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 ” )

1.5.3 Kontekst menedżera with


Automatycznie zamyka plik po zakończeniu bloku kodu. Dodatkowo w przypadku wystąpienia błędu
plik również zostanie poprawnie zamknięty.
with open ( ” n a z w a p l i k u . t x t ” , ”w” ) a s p l i k :
zawartosc = p l i k . read ( )
p l i k . w r i t e ( ” I n f o r m a c j e 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.

1.6.1 Tablice ndarray


ndarray to podstawowy typ danych w NumPy reprezentujący tablice wielowymiarowe.
import numpy a s np

# 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

1.6.2 Operacje na tablicach


• Operacje arytmetyczne są wykonywane element po elemencie.
a = np . a r r a y ( [ 1 , 2 , 3 ] )
b = np . a r r a y ( [ 4 , 5 , 6 ] )
c = a + b # c = [5 , 7 , 9]

• 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 )

1.7 Podsumowanie i uwagi


Znajomość podstaw programowania w Pythonie, takich jak pętle, instrukcje warunkowe, typy danych
i struktury danych, jest niezbędna do tworzenia efektywnych programów. Dodatkowo, umiejętność
obsługi plików oraz wykorzystanie bibliotek takich jak NumPy pozwala na realizację bardziej zaawan-
sowanych zadań w dziedzinie analizy danych i obliczeń naukowych.
Najważniejsze w pracy z językami programowania jest korzystanie z dokumentacji. W niej można
znaleźć dodatkowe informacje o opcjonalnych argumentach, który w wielu przypadkach rozwiązują
wiele zadań bez dodatkowej implementacji. Tę uwagę szczególnie należy wykorzystać w zadaniu z
sumowaniem.

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.

Ocena 5.5 5.0 4.5 4.0 3.5 3.0 2.0


Wynik 20 pkt. 18 pkt. 16 pkt. 14 pkt. 13 pkt. 12 pkt. 0 pkt.

You might also like