Gotowe ściągawki do wydruku — składnia, metody, wzorce egzaminacyjne.
int | liczba całkowita |
float | liczba z przecinkiem |
str | tekst (string) |
bool | True / False |
list | lista [ ] |
tuple | krotka ( ) |
dict | słownik { : } |
set | zbiór { } |
NoneType | None |
int("42") | → 42 |
int(3.9) | → 3 (obcięcie!) |
float("3.14") | → 3.14 |
str(100) | → "100" |
bool(0) | → False |
bool("") | → False |
list("abc") | → ['a','b','c'] |
tuple([1,2]) | → (1, 2) |
set([1,1,2]) | → {1, 2} |
0 | zero całkowite |
0.0 | zero float |
"" | pusty string |
[] | pusta lista |
() | pusta krotka |
{} | pusty słownik |
set() | pusty zbiór |
None | brak wartości |
False | fałsz |
.upper() | WIELKIE LITERY |
.lower() | małe litery |
.strip() | usuń białe znaki z końców |
.split(sep) | podziel po sep → lista |
sep.join(lista) | złącz listę przez sep |
.replace(a, b) | zamień a na b |
.find(s) | indeks lub -1 |
.count(s) | ile razy s w stringu |
.startswith(s) | czy zaczyna się od s |
.endswith(s) | czy kończy się na s |
.isdigit() | czy same cyfry |
.isalpha() | czy same litery |
.isalnum() | cyfry lub litery |
.isupper() | czy wielkie litery |
.islower() | czy małe litery |
len(s) | długość stringa |
f"{x}" | wartość zmiennej |
f"{x:.2f}" | 2 miejsca po przecinku |
f"{x:.0f}" | bez miejsc po przecinku |
f"{x:8}" | pole szerokości 8 |
f"{x:>8}" | do prawej, sz. 8 |
f"{x:<8}" | do lewej, sz. 8 |
f"{x:^8}" | wyśrodkuj, sz. 8 |
f"{x:08}" | uzupełnij zerami |
f"{x:,}" | separator tysięcy |
f"{x:.1%}" | procent 1 miejsce |
f"{x!r}" | repr() wartości |
s[0] | pierwszy znak |
s[-1] | ostatni znak |
s[1:4] | znaki 1, 2, 3 |
s[:3] | pierwsze 3 |
s[2:] | od 2 do końca |
s[::-1] | odwrócony string |
s[::2] | co drugi znak |
.append(x) | dodaj na koniec |
.insert(i, x) | wstaw na pozycję i |
.extend(l) | dodaj elementy z l |
.remove(x) | usuń pierwsze x |
.pop() | usuń i zwróć ostatni |
.pop(i) | usuń i zwróć i-ty |
.index(x) | indeks x |
.count(x) | ile razy x |
.sort() | sortuj w miejscu |
.reverse() | odwróć w miejscu |
.copy() | płytka kopia |
.clear() | wyczyść |
.keys() | widok kluczy |
.values() | widok wartości |
.items() | widok par (k,v) |
.get(k) | wartość lub None |
.get(k, d) | wartość lub d |
.pop(k) | usuń i zwróć |
.update(d2) | dodaj/nadpisz z d2 |
.setdefault(k,v) | ustaw jeśli brak |
.copy() | płytka kopia |
.clear() | wyczyść |
A | B | suma zbiorów |
A & B | przecięcie |
A - B | różnica A\B |
A ^ B | różnica sym. |
A <= B | A ⊆ B (podzbiór) |
.add(x) | dodaj x |
.discard(x) | usuń (bez błędu) |
.remove(x) | usuń (błąd gdy brak) |
.isdisjoint(B) | czy rozłączne |
abs(x) | wartość bezwzgl. |
round(x, n) | zaokrąglij do n miejsc |
min(a, b, ...) | minimum |
max(a, b, ...) | maksimum |
sum(iter) | suma |
pow(x, y) | x do potęgi y |
divmod(a, b) | (iloraz, reszta) |
len(x) | długość |
range(n) | 0 do n-1 |
range(a,b,s) | od a do b-1 co s |
enumerate(x) | (i, elem) pary |
zip(a, b) | łączy sekwencje |
sorted(x) | posortowana kopia |
reversed(x) | odwrócony iterator |
map(f, x) | zastosuj f na x |
filter(f, x) | filtruj przez f |
ord("A") | → 65 |
chr(65) | → "A" |
type(x) | typ obiektu |
isinstance(x,T) | czy x jest T |
id(x) | adres w pamięci |
input(prompt) | wczytaj string |
print(*args) | wypisz |
help(x) | dokumentacja |
def bubble_sort(lista):
n = len(lista)
for i in range(n - 1):
for j in range(n - 1 - i):
if lista[j] > lista[j+1]:
lista[j], lista[j+1] = \
lista[j+1], lista[j]
def selection_sort(lista):
n = len(lista)
for i in range(n - 1):
min_idx = i
for j in range(i+1, n):
if lista[j] < lista[min_idx]:
min_idx = j
lista[i], lista[min_idx] = \
lista[min_idx], lista[i]
def insertion_sort(lista):
for i in range(1, len(lista)):
klucz = lista[i]
j = i - 1
while j >= 0 and lista[j] > klucz:
lista[j+1] = lista[j]
j -= 1
lista[j+1] = klucz
def binarne(lista, szukana):
lewy, prawy = 0, len(lista) - 1
while lewy <= prawy:
s = (lewy + prawy) // 2
if lista[s] == szukana:
return s
elif lista[s] < szukana:
lewy = s + 1
else:
prawy = s - 1
return -1
def nwd(a, b):
while b != 0:
a, b = b, a % b
return a
def nww(a, b):
return a * b // nwd(a, b)
def silnia(n): # rekurencyjna
if n == 0: return 1
return n * silnia(n-1)
def fib(n): # iteracyjna O(n)
if n <= 1: return n
a, b = 0, 1
for _ in range(2, n+1):
a, b = b, a+b
return b
# Odczyt linii po linii
with open("plik.txt", "r",
encoding="utf-8") as f:
for linia in f:
linia = linia.strip()
# Wczytaj liczby z pliku
with open("dane.txt", "r",
encoding="utf-8") as f:
liczby = [int(l.strip()) for l in f
if l.strip()]
# Zapis do pliku
with open("wynik.txt", "w",
encoding="utf-8") as f:
f.write(f"Wynik: {wynik}\n")
# CSV — odczyt przez DictReader
import csv
with open("dane.csv", "r", newline="",
encoding="utf-8") as f:
for wiersz in csv.DictReader(f):
print(wiersz["Imię"])
# CSV — zapis przez DictWriter
with open("wynik.csv", "w", newline="",
encoding="utf-8") as f:
w = csv.DictWriter(f,
fieldnames=["id","imie","wynik"])
w.writeheader()
w.writerows(dane)
from flask import (Flask, render_template,
request, redirect, url_for)
app = Flask(__name__)
dane = [] # "baza danych" w pamięci
@app.route('/', methods=['GET', 'POST'])
def index():
if request.method == 'POST':
# Pobierz dane z formularza
pole = request.form.get('pole','')
if pole:
dane.append(pole)
return redirect(url_for('index'))
# GET — wyświetl stronę
return render_template('index.html',
dane=dane)
@app.route('/usun/')
def usun(i):
if 0 <= i < len(dane):
dane.pop(i)
return redirect(url_for('index'))
if __name__ == '__main__':
app.run(debug=True)
# Jinja2 w szablonie:
# {{ zmienna }}
# {% if warunek %}...{% endif %}
# {% for x in lista %}...{% endfor %}
# {{ url_for('nazwa_funkcji') }}
| Wyjątek | Przyczyna |
|---|---|
IndexError | indeks poza zakresem listy |
KeyError | brak klucza w słowniku |
ValueError | int("abc"), float("x") |
TypeError | zły typ argumentu |
ZeroDivisionError | dzielenie przez 0 |
FileNotFoundError | brak pliku |
RecursionError | za głęboka rekurencja |
AttributeError | brak atrybutu/metody |
NameError | niezdefiniowana zmienna |
| Algorytm | Złożoność |
|---|---|
| Dostęp do listy [i] | O(1) |
| x in set/dict | O(1) |
| x in list | O(n) |
| Wyszukiwanie liniowe | O(n) |
| Wyszukiwanie binarne | O(log n) |
| Bubble / Selection / Insertion sort | O(n²) |
| Merge sort / Timsort | O(n log n) |
| Fibonacci naiwny | O(2ⁿ) |
| Fibonacci iteracyjny | O(n) |
| NWD (Euklides) | O(log n) |