Program
Polecenia, które musisz znać
Cały Python potrzebny do konkursu — wszystko, czego możesz użyć w zadaniach. Na etapach Logii wolno sięgnąć tylko po turtle, math i random, więc ta lista jest zamknięta. Czego zadania wymagają poza Pythonem — kątów, liczb, schematów — mówi wiedza z zadań.
zajęcia 3 otwiera lekcjęwarto znać spoza programu zajęć, przydatne do zadań konkursowych
75 poleceń · 7 grup
Python zna je od razu — wypisują, pytają, liczą i mierzą. Bez nich nie napiszesz żadnego zadania.
nic nie importujesz
print(co)Wypisuje w konsoli to, co podasz w nawiasie.
przykład: print("Cześć") daje Cześć
input(pytanie)Czeka, aż wpiszesz coś z klawiatury, i oddaje to jako napis — zawsze napis, nawet gdy wpiszesz liczbę.
przykład: imie = input()
int(co)Zamienia napis albo liczbę z przecinkiem na liczbę całkowitą (ucina część po przecinku).
przykład: int("12") daje 12
float(co)Zamienia napis albo liczbę na liczbę z przecinkiem.
przykład: float("2.5") daje 2.5
warto znaćstr(co)Zamienia liczbę na napis — potrzebne, gdy chcesz ją skleić z tekstem.
przykład: "Mam " + str(11) + " lat" daje Mam 11 lat
len(co)Mówi, ile znaków ma napis albo ile elementów ma lista.
przykład: len("kot") daje 3
range(od, do, krok)Daje kolejne liczby dla pętli: od „od” włącznie do „do” bez ostatniej. Samo range(n) liczy od 0.
przykład: for i in range(4): daje 0, 1, 2, 3
sum(lista)Dodaje wszystkie liczby z listy i oddaje wynik.
przykład: sum([2, 3, 5]) daje 10
min(lista)Oddaje najmniejszą wartość z listy albo z podanych liczb.
przykład: min([7, 2, 9]) daje 2
max(lista)Oddaje największą wartość z listy albo z podanych liczb.
przykład: max([7, 2, 9]) daje 9
sorted(lista)Oddaje NOWĄ, uporządkowaną listę — ta z nawiasu zostaje bez zmian.
przykład: sorted([3, 1, 2]) daje [1, 2, 3]
list(co)Robi listę z napisu albo z range — z napisu powstaje lista pojedynczych liter.
przykład: list("kot") daje ["k", "o", "t"]
ord(znak)Oddaje numer znaku w komputerowym alfabecie — potrzebny przy szyfrach.
przykład: ord("a") daje 97
chr(numer)Robi z numeru znak — działanie odwrotne do ord.
przykład: chr(97) daje "a"
enumerate(lista)W pętli daje naraz numer elementu i sam element, więc nie musisz liczyć osobno.
przykład: for i, x in enumerate(lista):
abs(liczba)Oddaje liczbę bez znaku minus (wartość bezwzględną).
przykład: abs(-7) daje 7
warto znaćround(liczba, miejsca)Zaokrągla liczbę; drugi argument mówi, ile miejsc po przecinku zostawić.
przykład: round(3.14159, 2) daje 3.14
warto znaćhelp(co)Pokazuje wbudowaną pomoc o poleceniu — działa też na konkursie, gdy czegoś nie pamiętasz.
przykład: help(len)
Piszesz je po kropce, zaraz za napisem. Żadna z nich nie zmienia oryginału — każda oddaje nowy napis.
nic nie importujesz
napis.upper()Oddaje ten sam napis wielkimi literami.
przykład: "kot".upper() daje "KOT"
napis.lower()Oddaje ten sam napis małymi literami — tak porównuje się wyrazy, nie patrząc na wielkość liter.
przykład: "Kot".lower() daje "kot"
napis.replace(co, na_co)Oddaje napis, w którym każde „co” zamieniono na „na co”.
przykład: "kotek".replace("k", "b") daje "boteb"
napis.split(znak)Tnie napis na listę kawałków w miejscach podanego znaku; bez argumentu tnie po spacjach.
przykład: "ala ma kota".split() daje ["ala", "ma", "kota"]
znak.join(lista)Skleja listę napisów w jeden napis, wstawiając między nie podany znak — odwrotność split.
przykład: "-".join(["a", "b"]) daje "a-b"
napis.count(co)Liczy, ile razy „co” występuje w napisie.
przykład: "mama".count("m") daje 2
napis.find(co)Mówi, na którym miejscu zaczyna się „co”; gdy tego nie ma, oddaje -1.
przykład: "kotek".find("t") daje 2
warto znaćnapis.strip()Obcina spacje z początku i z końca napisu.
przykład: " kot ".strip() daje "kot"
warto znaćnapis.startswith(co)Sprawdza, czy napis zaczyna się od podanego kawałka.
przykład: "kotek".startswith("kot") daje True
warto znaćnapis.endswith(co)Sprawdza, czy napis kończy się podanym kawałkiem.
przykład: "kotek".endswith("ek") daje True
warto znaćnapis.isdigit()Sprawdza, czy napis składa się z samych cyfr — zanim zamienisz go na liczbę.
przykład: "123".isdigit() daje True
warto znać
Też po kropce — ale te zmieniają samą listę, a nie oddają nowej. To najczęstsza pułapka na konkursie.
nic nie importujesz
lista.append(co)Dokłada element na koniec listy — tak buduje się listę w pętli.
przykład: lista.append(9)
lista.sort()Porządkuje listę na miejscu i nic nie oddaje — gdy chcesz nową listę, użyj sorted.
przykład: lista.sort()
lista.reverse()Odwraca kolejność elementów listy na miejscu.
przykład: lista.reverse()
warto znaćlista.insert(gdzie, co)Wstawia element na podane miejsce, resztę przesuwa dalej.
przykład: lista.insert(0, 5)
warto znaćlista.remove(co)Usuwa pierwszy element równy podanemu.
przykład: lista.remove(5)
warto znaćlista.pop(gdzie)Wyjmuje element z podanego miejsca i oddaje go; bez argumentu bierze ostatni.
przykład: lista.pop()
warto znaćlista.count(co)Liczy, ile razy element występuje na liście.
przykład: [1, 2, 2].count(2) daje 2
warto znaćlista.index(co)Mówi, na którym miejscu stoi pierwszy taki element (pierwsze miejsce to 0).
przykład: ["a", "b"].index("b") daje 1
warto znać
Cała grafika konkursowa to te polecenia. Każde piszesz po kropce, na swoim żółwiu — u nas nazywa się t.
Na początku programu
import turtle t = turtle.Turtle()
turtle.Turtle()Tworzy żółwia, którym będziesz rysować — od tej linii zaczyna się każdy rysunek.
przykład: t = turtle.Turtle()
t.forward(kroki)Idzie do przodu o podaną liczbę kroków, rysując po drodze.
przykład: t.forward(100)
t.backward(kroki)Cofa się o podaną liczbę kroków, nie zmieniając kierunku.
przykład: t.backward(50)
t.right(kąt)Obraca żółwia w prawo o podaną liczbę stopni.
przykład: t.right(90)
t.left(kąt)Obraca żółwia w lewo o podaną liczbę stopni.
przykład: t.left(120)
t.penup()Podnosi pisak — od tej chwili żółw chodzi, ale nie zostawia śladu.
przykład: t.penup()
t.pendown()Opuszcza pisak — żółw znowu rysuje.
przykład: t.pendown()
t.goto(x, y)Przenosi żółwia wprost pod podane współrzędne; środek kartki to (0, 0).
przykład: t.goto(50, -30)
t.setheading(kąt)Ustawia kierunek żółwia na wprost podany kąt: 0 to w prawo, 90 do góry.
przykład: t.setheading(90)
t.home()Wraca na środek kartki i ustawia kierunek na wprost.
przykład: t.home()
t.pencolor(kolor)Ustawia kolor linii, którą rysuje żółw.
przykład: t.pencolor("red")
t.pensize(grubość)Ustawia grubość linii.
przykład: t.pensize(3)
t.fillcolor(kolor)Ustawia kolor, którym zostanie wypełniona figura.
przykład: t.fillcolor("yellow")
t.begin_fill()Mówi żółwiowi, że od tego miejsca rysuje figurę do wypełnienia.
przykład: t.begin_fill()
t.end_fill()Zamyka figurę i wypełnia ją kolorem z fillcolor.
przykład: t.end_fill()
t.dot(średnica, kolor)Stawia kropkę w miejscu, w którym stoi żółw.
przykład: t.dot(10, "blue")
t.circle(promień)Rysuje okrąg o podanym promieniu; drugi argument rysuje tylko wycinek łuku.
przykład: t.circle(40)
warto znaćt.write(tekst)Pisze tekst na kartce, w miejscu żółwia.
przykład: t.write("start")
warto znaćt.speed(tempo)Ustawia tempo rysowania: od 1 (wolno) do 10, a 0 znaczy od razu.
przykład: t.speed(0)
warto znaćt.hideturtle()Chowa strzałkę żółwia, żeby nie zasłaniała gotowego rysunku.
przykład: t.hideturtle()
warto znaćt.xcor()Mówi, na której współrzędnej x stoi teraz żółw.
przykład: x = t.xcor()
warto znaćt.ycor()Mówi, na której współrzędnej y stoi teraz żółw.
przykład: y = t.ycor()
warto znaćt.clear()Ściera rysunek, ale zostawia żółwia tam, gdzie stoi.
przykład: t.clear()
warto znaćturtle.done()Zatrzymuje okno z rysunkiem — w IDLE dopisz to na końcu, żeby okno nie zamknęło się od razu.
przykład: turtle.done()
warto znać
Wszystko, czego nie policzysz zwykłym +, -, *, /, // i %. Na konkursie wolno użyć tylko tego modułu.
Na początku programu
import math
math.sqrt(liczba)Oddaje pierwiastek kwadratowy — tak liczy się przekątną kwadratu i wysokość trójkąta.
przykład: math.sqrt(9) daje 3.0
math.pistałaLiczba π — do obwodu i pola koła.
przykład: math.pi daje 3.141592653589793
math.floor(liczba)Zaokrągla w dół, do najbliższej liczby całkowitej.
przykład: math.floor(3.7) daje 3
warto znaćmath.ceil(liczba)Zaokrągla w górę, do najbliższej liczby całkowitej.
przykład: math.ceil(3.2) daje 4
warto znaćmath.hypot(a, b)Oddaje długość przeciwprostokątnej — odległość między dwoma punktami.
przykład: math.hypot(3, 4) daje 5.0
warto znaćmath.radians(stopnie)Zamienia stopnie na radiany, których wymaga sin i cos.
przykład: math.radians(180) daje 3.141592653589793
warto znaćmath.degrees(radiany)Zamienia radiany z powrotem na stopnie.
przykład: math.degrees(math.pi) daje 180.0
warto znać
Kiedy zadanie mówi „losowy”: rzut kostką, losowy kolor, losowe miejsce na kartce.
Na początku programu
import random
random.randint(od, do)Losuje liczbę całkowitą od „od” do „do” — obie skrajne liczby też mogą wypaść.
przykład: random.randint(1, 6) daje np. 4
random.choice(lista)Wybiera jeden losowy element z listy.
przykład: random.choice(["red", "blue"]) daje np. "blue"
random.random()Losuje liczbę z przecinkiem od 0 do 1.
przykład: random.random() daje np. 0.37
warto znaćrandom.randrange(od, do, krok)Losuje liczbę z takiego zakresu, jaki daje range — bez ostatniej.
przykład: random.randrange(0, 360, 30) daje np. 90
warto znaćrandom.shuffle(lista)Miesza listę na miejscu i nic nie oddaje.
przykład: random.shuffle(lista)
warto znać
Kiedy ten sam fragment powtarza się drugi raz, zrób z niego funkcję — o to prosi połowa zadań konkursowych.
nic nie importujesz
def nazwa(parametry):słowo kluczoweTworzy własne polecenie: nazwa, parametry w nawiasie i wcięty kod pod spodem. Samo napisanie nic nie rysuje — trzeba je jeszcze wywołać.
przykład: def kwadrat(bok):
return wyniksłowo kluczoweOddaje wynik z funkcji i od razu ją kończy — bez tego funkcja tylko coś robi, ale nic nie liczy.
przykład: return bok * bok