print

Transkrypt

print
Podstawy programowania
Python – wykład 2
input()
●
●
●
Zwraca wartośc wczytaną z klawiatury w
postaci łańcucha.
Argumentem jest napis (łańcuch), który
wyświetli się na ekranie uzytkownika.
Aby wczytana wartość była innego typu niż
łańcuch należy dokonać jej konwersji na
odpowiedni typ, np.
int(input(...))
float(input())
print()
●
Wypisuje na ekranie wartości argumentów.
●
Automatycznie wstawia znak końca linii.
●
●
Aby nie przechodzić do nowej linii ostatnim
argumentem powinno być: end=''.
Argumenty: łańcuchy, zmienne oddzielone są
przecinkami.
●
Wstawia spacje jako separator argumentów.
●
Znaki specjalne: \n, \a, \v, \t, \b, \r.
●
Wywołanie print() powoduje wstawienie pustej
linii.
print()
●
●
print(''' Ala
print('Ala')
ma
print('ma')
kota''')
print('kota')
print(””” Ala
ma
kota”””)
Porównywanie kaskadowe
●
Porównania można łączyć ze sobą tworząc wyrażenia postaci:
a<b<c<e
jest równoważne: a < b and b < c and c < e
●
Porównania kaskadowe mogą mieć dowolną długość, lecz niejawna
obecność spójnika and oznacza, że obliczenia zatrzymają się
natychmiast po stwierdzeniu tego, czy prawdziwość całego
wyrażenia może być jednoznacznie obliczona, np.
w wyrażeniu
a<b<c<d
jeżeli a < b jest fałszywe, c i d nie będzie obliczane.
Podział instrukcji na wiersze
●
Jawny podział na wiersze '\'
print('Ala \
ma \
kota')
●
●
W sposób niejawny poprzez wstawienie Enter
w nawiasy [], (), {}.
Nie można stosować lewego ukośnika w celu
kontynuacji komentarza.
Blok
●
●
●
●
●
Blok musi zawierać co najmniej jedną
instrukcję.
pass pozwala na tworzenie bloku z instrukcją
pustą.
Python wykrywa początek i koniec bloku na
podstawie wcięcia jego instrukcji.
Jako blok traktowane są instrukcje wcięte na
taką samą głębokość.
Głębokość uzyskuje się stosując spację lub
tabulację.
UWAGI
●
Python umożliwia wpisanie więcej niż
jednej instrukcji w wierszu, jeśli będą one
oddzielone średnikiem, np.
x=1;y=2;print(x+y)
●
Można także przenieść ciało instrukcji
złożonej do wiersza nagłówka, np.
for x in range(1,10): print(x)
if-elif-else
●
Instrukcja warunkowa uruchamia blok instrukcji,
jeśli dany warunek jest prawdziwy.
if warunek:
blok
elif warunek1:
blok1;
…
else:
blok_domyślny
if-elif-else
●
Instrukcja warunkowa uruchamia blok instrukcji,
jeśli dany warunek jest prawdziwy.
if warunek:
blok
elif warunek1:
blok1;
…
else:
blok_domyślny
Przykład 1
ostatnia_litera = input('Podaj swoją \
ostatnią literę pełnego imienia: ')
if ostatnia_litera == 'a':
print('Jesteś kobietą')
Przykład 2
ostatnia_litera = input('x = ')
if 0 < x :
print('Liczba dodatnia')
elif x < 0:
print('Liczba ujemna')
else:
print('Zero')
Pętla for
●
Pętla to mechanizm umożliwiający cykliczne
wykonywanie instrukcji, czyli powtarzanie ich w
kółko albo określoną liczbę razy.
for licznik in sekwencja:
blok
●
sekwencja:
–
krotka = (1,'ala',2)
–
lista = [1,2,3,4]
–
przedzial1 = range(1,10)
–
przedzial2 = range(1,10,2)
–
slownik = {'wiek': 12, 'plec':'K'}
Przykład 3
for i in range(1,10):
print(i,end='')
for i in range(1,10,2):
print(i,end='')
for i in (1,'Ala', 'ola', 3):
print(i,end='')
Przykład 4
lista = ['Ala', 'Ola', 'Basia']
for imie in lista:
print(imie)
for i, element in enumerate(lista):
print("Przebieg pętli", i, "element", element)
for i, element in enumerate(lista,1):
print("Przebieg pętli", i, "element", element)
Przykład 5
slownik = {'imie': 'Jan', 'nazwisko': 'Kowalski',
'wiek': 12, 'zawód': 'spawacz'}
for klucz, wartosc in slownik.items():
print(klucz + ': ' + str(wartosc))
for klucz in slownik.keys():
print(klucz)
for wartosc in slownik.values():
print(wartosc)
Przykład 6
for i in range(1,20,2):
pass
else:
print('skonczylem')
Pętla while
●
●
●
●
najbardziej ogólna konstrukcja umożliwiająca użycie
iteracji;
wywołuje powtarzanie wciętego bloku instrukcji
dopóty, dopóki wynik testu przeprowadzanego na
najwyższym poziomie ma wartość prawdziwą;
jeśli wynik testu jest fałszywy, to sterowanie
przechodzi poza blok instrukcji objęty pętlą while;
blok nigdy się nie wykona, jeśli wynik pierwszego testu
będzie fałszywy.
Format ogólny
while <test>:
<instrukcje>
else:
<instrukcje>
# test pętli, nagłówek pętli
# ciało pętli
# opcjonalna część
# wykonają się jeśli pętla nie
# zakończyła się instrukcją break
Przykład 7
while 1:
print('Aby zatrzymać wcisnij Ctrl+C')
while True:
print('Aby zatrzymać wcisnij Ctrl+C')
while 'A':
print('Aby zatrzymać wcisnij Ctrl+C')
Przykład 8
Odcinanie pierwszego znaku z łańcucha, aż
do chwili gdy łańcuch będzie pusty.
x = 'mielonka'
while x:
print(x)
x = x[1:]
Przykład 9
Program liczy w górę od wartości a do b (z
wyłączeniem b).
a = 0; b = 10
while a < b:
print(a,' ', end='')
a = a + 1
print()
break, continue
●
●
●
●
break – wyjście z najbliższej pętli (pominięcie instrukcji
pętli)
continue – przejście na górny poziom najbliższej pętli
(do wiersza nagłówkowego tej pętli)
pass – nic nie robi wypełniacz pustego miejsca w
bloku, instrukcji
instrukcje break i continue mogą pojawić się w
dowolnym miejscu w ciele pętli while, ale najczęściej
są używane w postaci zagnieżdżenia w ciele instrukcji
if.
Przykład 10
i = 1
while i < 100:
s = int(input('Podaj liczbę całkowitą: '))
if s % 2 == 0:
print('parzysta; break')
break
elif s % 3 == 0:
print('dzieli się przez 3; continue')
continue
print('nieparzysta i nie dzieli się przez 3')
if i < 100:
print('Zadziałało break')
Przykład 11
Czy y podany przez uzytkownika jest liczbą pierwszą?
y = int(input('y = '))
x = y // 2
while x > 1:
if y % x == 0:
print(x, 'jest podzielnikiem', y)
break
x = x – 1
else:
print(y, 'jest liczbą pierwszą')
random
●
●
●
jest modułem składającym się z szeregu
funkcji do generowania pseudo-losowego
randrange():
–
randrange(prawy)
–
randrange(lewy, prawy)
–
randrange(lewy, prawy, krok)
randint(a,b) – generuje losowe wartości z
przedziału obustronnie domkniętego od a
do b
Przykład 12
import random
for i in range(20):
x = random.randrange(20)
print(x, ' ', end='')
for i in range(1,40):
x = random.randrange(1,40)
print(x, ' ', end='')
Przykład 13
import random
for i in range(1,20):
x = random.randrange(-20,20)
print(x, ' ', end='')
for i in range(1,40):
x = random.randint(ord('A'),ord('Z'))
print(chr(x), ' ', end='')
Metody listy
●
list(s) - konwertuje sekwencję s na listę
●
s.append(x) - dodaje nowy element x na końcu s
●
s.extend(t) - dodaje nową listę t na końcu s
●
s.count(x) - zlicza wystąpienie x w s
●
s.index(x) - zwraca najmniejszy indeks i, gdzie s[i] == x
●
s.pop([i]) - zwraca i-ty element i usuwa go z listy. Jeżli nie podamy
parametru to usunięty zostanie ostatni element
●
s.remove(x) - odnajduje x i usuwa go z listy s
●
s.reverse() - odwraca w miejscu kolejność elementów s
●
●
s.sort([funkcja]) - Sortuje w miejscu elementy. "funkcja" to funkcja
porównawcza
s.insert(i, x) – wstawia x w i-te miejsce
Przykład 14
L = [1,2,7,8,3]; print(L)
L.append(12); print(L)
L.extend([23,20,19,33]); print(L)
L.insert(3,13); print(L)
L.pop(); print(L)
L.remove(20); print(L)
L.sort(); print(L)
L.reverse(); print(L)
K = sorted(L); print(L); print(K)

Podobne dokumenty