W języku Python do przechowywania wielu danych w jednej zmiennej służą listy. Elementami listy mogą być liczby, napisy, inne listy. Możemy stworzyć listę podając obiekty, z których się składa.

Tak możemy utworzyć listę, w której zapiszemy liczby:

liczby = [33, 56, 77]

print(liczby)

A tak tworzymy listę z napisami:

napisy = ['Ala', 'Ola', 'Ewa']

print(napisy)

Przy pomocy poznanego wcześniej indeksowania możemy odwołać się do konkretnego obiektu w liście.

liczby = [33, 56, 77]

print(liczby[1])

wynik:

56

lub

napisy = ['Ala', 'Ola', 'Ewa']

print(napisy[-1])

wynik:

Ewa

Aby odczytać ciąg elementów na liście, należy podać numer indeksu, od którego mają zostać odczytane elementy z listy oraz dwukropek. Wówczas odczytane zostaną wszystkie elementy, zaczynając od wskazanego indeksu aż do końca listy np.

napisy = ['Ala', 'Ola', 'Ewa', 'Marta', 'Anna']

print(napisy[1:])

da wynik:

['Ola', 'Ewa', 'Marta', 'Anna']

Jeśli potrzebujemy uzyskać dostęp do części listy, możemy skorzystać z dwukropka. Po nazwie listy należy podać w nawiasach kwadratowych pozycję pierwszego elementu, dwukropek oraz liczbę o jeden większą od ostatniego elementu w wybranym fragmencie. 

napisy = ['Ala', 'Ola', 'Ewa', 'Marta', 'Anna']

print(napisy[1:4])

da wynik:

['Ola', 'Ewa', 'Marta']

Jeśli wyodrębniany fragment zaczyna się od początku listy lub kończy się ostatnim elementem, liczbę pomijamy.

napisy = ['Ala', 'Ola', 'Ewa', 'Marta', 'Anna']

print(napisy[:4])

da wynik:

['Ala', 'Ola', 'Ewa', 'Marta']

W Pythonie są trzy struktury danych, które są sekwencjami, to znaczy przechowują dane w postaci uporządkowanych szeregów wartości. W sekwencji każda wartość jest na określonej pozycji. Dzięki temu możesz odwołać się do pojedynczej wartości w sekwencji używając numeru jej pozycji, czyli indeksu. 

Indeks elementu sekwencji podaje się w nawiasach kwadratowych po samej sekwencji lub po nazwie zmiennej, która na tę sekwencję wskazuje. Najprostszymi sekwencjami są łańcuchy znaków - składają się bowiem z uporządkowanego szeregu znaków, z których każdy ma swoją określoną pozycję. Elementy w sekwencjach numerowane są od 0 (zera) np.

tekst = "informatyka"

print(tekst[2])

da wynik:

f

Dlaczego? Bo element łańcucha "informatyka" i indeksie [2] jest tak naprawdę trzecim elementem w tym łańcuchu znaków. Numeracja zaczyna się od zera!

indeksowanie

Do elementów sekwencji możemy odwołać się także od prawej strony uzywając indeksów ujemnych.

tekst = "informatyka"

print(tekst[-2])

da wynik:

k

Możemy łączyć łańcuchy.

imie = "Bill"
nazwisko = "Gates"
razem = imie + " " + nazwisko
print(razem)
Wynik:
Bill Gates
Możemy też z elementów łańcuchów układać nowe łańcuchy:
imie = "Bill"
nazwisko = "Gates"
razem = imie[-1] + nazwisko[1] + nazwisko[-1]
print(razem)
Wynik:
las

W Pythonie używane są dwa rodzaje pętli: while i for

Pętlę while znamy już ze Scratcha. W tym przykładzie Kot będzie wymieniał co sekundę kolejne cyfry od 0 do 4. Cyfry 5 już nie powie, bo w tym momenice spełni się warunek pętli powtarzaj aż. Program się zatrzyma. 

whiles

Pętla while w Pythonie wykonuje się dopóki pewien warunek logiczny jest spełniony. Przykład:

# Wypisze 0 1 2 3 4
licznik = 0
while licznik < 5:
    print (licznik)
    licznik += 1 # Ma to taki sam efekt jak licznik = licznik + 1
Kolejny programik to przykład niekończącej się pętli. To też znacie ze Scratcha.
Tam mieliśmy pętle zawsze
zawszeW przypadku Pythona to pętla while True co można przetłumaczyć jako dopóki Prawda. Program działa, aż do wyłączenia prądu.

licznik = 0
while True:
    print (licznik)
    licznik += 1

Takie niekończące się pętle to często błędy programisty. Należy pamiętać o tym żeby pętla miała szansę się zakończyć, gdy warunek zostanie spełniony.

licznik = 0
while True:
    print (licznik)
    licznik += 1
    if licznik >= 5:
       break
print("koniec")

break jest używany do zakończenia pętli.

Automat do wydawania pizzy

wybor = 0
print('Tu automat z pizzą do wyboru')
while wybor == 0:
   print('''
   wpisz 1 - jeśli zamawiasz małą pizzę
   wpisz 2 - jeśli zamawiasz średnią pizzę
   wpisz 3 - jeśli zamawiasz dużą pizzę

   ''')
   w = input('Wpisz co wybrałeś: ')
   if w == '1' or w == '2' or w == '3':
      break
   print('\nNiestety nie zrozumiałeś instrukcji!')
print('\nZamówienie przyjęte')
if w == '1':
   print('\nMała pizza jest gotowa! Smacznego!')
if w == '2':
   print('\nŚrednia pizza jest gotowa! Smacznego!')
if w == '3':
   print('\nDuża pizza jest gotowa! Smacznego!')

Inny przykład wykorzystania pętli while

haslo = input("Podaj hasło: ")
while haslo != "masło":
    print("\nOdmowa dostępu!")
    haslo = input("\nPodaj hasło: ")
print("\nWitamy w systemie bankowym")

Bardzo często w programach zdarza się, że chcemy dodać do obecnej zmiennej typu liczbowego pewną wartość lub wyrażenie.

Na przykład do zmiennej o nazwie masa chcemy dodać 20, co uzyskujemy pisząc:

masa = masa 20

Ten zapis należy rozumieć tak: nowej wartości zmiennej masa przypisz sumę obecnej wartości tej zmiennej i liczby 20.

Tego typu operacje wykonywane są w programach bardzo często. Oprócz chęci dodania do zmiennej danej wartości lub wyrażenia, możemy chcieć zastosować również odejmowanie, mnożenie, dzielenie czy przypisanie reszty z dzielenia.

Dlatego w Pythonie (i innych językach programowania np. C++) stworzono skrócony zapis wykonywanej operacji w oparciu o już istniejącą wartość zmiennej. 

 masa += 20

Oto najważniejsze rozszerzone operatory przypisania:

 +=  x += 5  x = x + 5
 -=  x -= 5  x = x - 5
 *=  x *= 5  x = x * 5
 /=  x /= 5  x = x / 5
 %=  x %= 5  x = x % 5

 

Dzięki stosowaniu powyższych operatorów, możesz w znacznie prostszy sposób zapisywać pewne operacje, co w rezultacie doprowadzi do zaoszczędzenia Twojego cennego czasu.

 

 

Pętlę for znacie ze Scratcha. Tam wyglądało to tak:

forscratch

Iteracja (łac. iteratio – powtarzanie) – czynność powtarzania tej samej operacji w pętli z góry określoną liczbę razy lub aż do spełnienia określonego warunku. Mianem iteracji określa się także operacje wykonywane wewnątrz takiej pętli.

np. 

for i in [0, 5, 2, 8, 4]:
    print(i)

W wyniku działania tego programu zmienna i przybierze najpierw wartość 0, w następnym kroku 5, później 2 itd.

Każda z tych wartości zostanie wyprowadzona instrukcją wyjścia (print) na ekran. ZWRÓĆ UWAGĘ na znak dwukropka na końcu oraz cztery spacje wcięcia!

for i in range(5):
    print(i)

uwaga! range oznacza zakres

W tym przypadku zamiast wypisywać listę wartości korzystamy z funkcji range(), która wygeneruje kolejne liczby całkowite od 0 aż do napotkania na koniec czyli 5.

W wyniku działania tego programu wyświetlą się na ekranie kolejno 0, 1, 2, 3 i 4. Funkcja range() z wpisanym wewnątrz nawiasu jednym argumentem traktuje go jako koniec pętli i nie wyświetla.

 Jeżeli chcemy wyświetlić jakiś konkretny przedział liczb to możemy w range() podać początek i koniec tego przedziału. Koniec znów się nie wyświetli.

for i in range(5, 10):
    print(i)

Ten program wyświetli kolejno: 5, 6, 7, 8, i 9.

Ale range() może mieć 3 argumenty: początek, koniec i krok.

for i in range(5, 16, 5):
    print(i)

W tym przypadku program wyświetli kolejno: 5, 10 i 15, bo koniec to 16, a krok to 5.

Jeżeli chciałbym wyświetlić na ekranie liczby całkowite ale w odwrotnej kolejności to mogę zastosować krok ujemny, oczywiście należy wpisać również początek i koniec.

for i in range(15, 4, -5):
    print(i)

W tym przypadku zmienna i będzie przybierała w kolejnych krokach następujące wartości: 15, 10, 5. Koniec to 4, a krok jest ze znakiem minus.

p = int(input("Podaj wartość całkowitą zmiennej p: "))
k = int(input("Podaj wartość całkowitą zmiennej k: "))
step = int(input("Podaj wartość całkowitą zmiennej krok: "))

for i in range(p, k, step):
    print(i)

A w tym programie pytam użytkownika o początek, koniec i krok dla funkcji range().

for i in range(5):
    a = int(input("Podaj wartość a: "))

Taki program zapyta użytkownika 5 razy o wartość zmiennej a.

for i in range(5):
    print("Ala ma kota")

A ten program napisze 5 razy Ala ma kota.

napis = "szkola"

for litera in napis:

    print(litera)

W tym programie zdefiniowano zmienną typu string o nazwie napis. A następnie w pętli odczytujemy litera po literze zmienną napis i drukujemy litery na ekranie. 

 Instrukcję warunkową znacie już od dawna. Używaliście jej w Scratchu.
ifelsescratch

Dzięki instrukcji warunkowej if możesz wykonać blok instrukcji w zależności od tego, czy wyrażenie po if ma wartość True (Prawda).

Składnia:

if warunek_logiczny:
    instrukcja_1
    instrukcja_2
    instrukcja_3
    ...
 
Uwaga: jeśli we fragmencie kodu umieszczonym po wcięciu znajduje się więcej niż jedna instrukcja, wcięcie powinno być dokładnie takie same we wszystkich liniach.
Instrukcja if pozwala na wykonanie bloku instrukcji także w przypadku, gdy badane wyrażenie ma wartość False (Fałsz). Służy do tego klauzula else.
Klauzule elif  pozwalają w jednej instrukcji if badać wartości wielu wyrażeń. W jednej instrukcji if możesz użyć dowolnej liczby klauzul elif, jednak instrukcja if działa tylko do napotkania pierwszego prawdziwego warunku. To oznacza, że jeżeli klauzul elif będzie kilka, to zostaną wykonane instrukcje tylko jednej z nich, pierwszej, która spełni warunek.

print("Program podaje, która z 2 podanych liczb jest większa")
a = float(input("Podaj pierwszą liczbę: "))
b = float(input("Podaj drugą liczbę: "))

if a > b:
    print("Liczba", a, "jest większa")
elif a == b:
    print("Liczba", a, "jest równa", b)
else:
    print("Liczba", b, "jest większa")

Operatory porównania wykorzystywane w instrukcji if

operatory por

W tym programie zadeklarowałem zmienną x i przypisałem jej wartość 2. A dalej sprawdzam co się stanie jak wyświetlę na ekranie czy faktycznie x  == 2 itd. True oznacza prawdę, a False fałsz. W komentarzach do instrukcji wyjścia print() napisałem czego się spodziewać. Zaznacz program i skopiuj do edytora Pythona. Sprawdź, co się dzieje. 

x = 2
print (x == 2) # wypisze True, bo przecież przypisałem wcześniej, że x = 2
print (x != 2) # wypisze False, bo x nie może być różne od 2 skoro x = 2
print (x == 3) # wypisze False, bo x nie może być równe 3 skoro jest równe 2
print (x < 3) # wypisze True, bo 2 jest mniejsze od 3

Zmienne znacie już od dawna. Tworzyliśmy je w Scratchu np. po to żeby w grach wykorzystać licznik punktów.

zmiennescratch

Tworzeniezmiennych

Zmienna (ang. variable), to miejsce w pamięci komputera, w którym możemy zapisywać dane i do którego możemy mieć łatwy dostęp poprzez nadaną nazwę. 

Tworzenie zmiennej w Pythonie polega na określeniu jej nazwy, oraz - po operatorze przypisania = - podaniu danych, na które zmienna ma wskazywać, np.:

masa = 120

W taki sposób utworzyliśmy zmienną o nazwie masa i przypisaliśmy do niej wartość 120.

Nazwy  zmiennych

Zmiennych można używać w wyrażeniach,  w funkcji print(), np.:

masa = 10

print( masa * 2 )

20

Wymyślając nazwy zmiennych w Twoich programach pamiętaj o następujących regułach:

► nazwy mogą się składać tylko z liter, cyfr i znaku podkreślenia _

► nazwy nie mogą zawierać spacji

► nazwy nie mogą zaczynać się od cyfry

► wielkość liter ma znaczenie, tzn. zmienna masa to inna zmienna niż Masa

Tworząc nazwy zmiennych pamiętaj o kilku istotnych zasadach:

  1. nazwa może zawierać jedynie litery, cyfry oraz znak podkreślnika _
  2. nazwa nie może zaczynać się od cyfry

Poza tymi żelaznymi zasadami, warto stosować się do poniższych konwencji:

  1. niezaczynać nazw zmiennych od podkreślnika _
  2. w nazwach zmiennych stosować tylko małe litery (z zastrzeżeniem punktu 4)
  3. stosować nazwy opisowe, w taki sposób, aby było jasne do czego odnosi się zmienna, np.: imie, wzrost, masa, kolor itp. 
  4. w nazwach wieloczłonowych, kolejne człony zaczynać wielką literą lub oddzielać od siebie człony podkreślnikiem, np.: cenaNetto, id_pracownika itp. 

Poniżej znajduje się lista zastrzeżonych słów kluczowych, które nie mogą być nazwami zmiennych w Pythonie.

'False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'

Zmienne w wyrażeniach

Do zmiennych możesz przypisywać wartości wyrażeń, także takich, w których są inne zmienne, np.:

droga = 45

czas = 15

predkosc = droga / czas

print ( predkosc )

3

Instrukcję wejścia znacie ze Scratcha. 

input scratch

Zmiennej możemy nadać wartość za pomocą instrukcji przypisania, wprowadzając wartość z klawiatury po uruchomieniu programu. W tym celu stosujemy instrukcję wejścia - funkcję input()

Na przykład:

nazwisko = input(“Podaj nazwisko: ”

Typy zmiennych cz. 1 

Teksty

String jest sekwencją znaków, a zazwyczaj przechowują słowa, zdania. 

Liczby

Liczby w Pythonie mogą być dwojakiego typu – int (integer = l. całkowita) i float (floating point number l. zmiennoprzecinkowa).

Liczbą typu int będzie 4, która jest liczbą całkowitą, natomiast 4.4 jest już liczbą z przecinkiem, czyli float.

Przykład instrukcji wejścia z jednoczesnym określeniem typu zmiennej:

liczba = int(input(“Podaj liczbę: “))

Instrukcją wyjścia w Pythonie jest funkcja print()

Jej użycie powoduje wyświetlenie komunikatu na ekranie np.

print("Hello world!")

lub

print('Hello world')

W pierwszym przypadku użyłem znaków " ", w które wstawiłem tekst do wyświetlenia na ekranie. W drugim przykładzie zastąpiłem cudzysłów - apostrofami. Wynik jest identyczny!

Funkcja print() domyślnie przechodzi do nowej linii po wyświetleniu, jeżeli nie chcemy przechodzić do nowej linii, musimy użyć instrukcji: ​ print("napis", end=" "). Pomiędzy cudzysłowami możemy umieścić spację co spowoduje wstawienie pomiędzy obecnym a następnym "printem" znak spacji. Możemy oczywiście umieścić dowolny inny znak, liczbę lub słowo, pomiędzy znakami cudzysłowu w tej instrukcji.
print('Hello world')

print('Hello world')

spowoduje wyświetlenie na ekranie:

Hello world
Hello world

ale

print('Hello world', end=' ')

print('Hello world')

wyświetli te dwa napisy w pojedynczym wierszu, po spacji

Hello world Hello world

ZNAKI SPECJALNE
 Znak  Znaczenie  Przykład użycia  Efekt użycia
\n
 przejście do nowej linii  print('Ala ma \n kota')  Ala ma

 kota

\t  tabulator (odstęp)  print('Ala ma \t kota')  Ala ma     kota
\”  podwójny cudzysłów (do użycia wewnątrz napisów)  print('Ala ma \"kota\"')  Ala ma "kota"
\’  pojedynczy cudzysłów (do użycia wewnątrz napisów)  print('Ala ma \'kota\'')  Ala ma 'kota'

 Jeżeli w instrukcji print używamy nazw zmiennych to nie ujmujemy ich w apostrofy (lub cudzysłów).

np.

masa = 120

print(masa)

wynik:

120

---------------------------

imie = "Tomek"

print(imie)

wynik:

Tomek

Za pomocą funkcji print można wyświetlić kilka elementów jednocześnie używając tylko jednej funkcji print(). Te elementy mogą stanowić różne rodzaje zmiennych, wystarczy że będą oddzielone przecinkiem, co pokazuje poniższy przykład:

pokoj = 12
pietro  = 5
print('Mieszkam w pokoju numer ', pokoj, 'na ', pietro, 'piętrze.')

wynik działania programu:

Mieszkam w pokoju numer 12  na 5 piętrze.

W instrukcji print możemy używać operatory arytmetyczne i przy ich pomocy coś obliczać np.

print(2+2)

wynik:

4

Widać, że w tym przypadku również znaki apostrofów i cudzysłowia są niepotrzebne, bo mamy do czynienia z liczbami i opeartorem dodawania, a nie z napisem (string).

Ale już gdy chcemy połączyć różne typy danych:

waga = 50

cena = 2

print(waga, 'kg ziemniaków w cenie', cena, 'za kilogram - kosztuje: ', waga * cena, 'złotych')

lub to samo bez zmiennych:

print('50 kilogramów ziemniaków w cenie 2 zł za kg - kosztuje: ', 50 * 2, 'złotych')

 

html how 2

HTML

 

w3s

colorpicker

Walidator HTML oraz CSS

© 2021 classroom.pl All Rights Reserved.
DMC Firewall is a Joomla Security extension!