pyladies 2.0 #7 wyjątkowe błędy

25

Upload: piotr-dyba

Post on 18-Jan-2017

435 views

Category:

Software


2 download

TRANSCRIPT

PyTraning2.0 #7:Wyjątkowe błędy

try/except, while, def

Wyłapywanie błędów po co ?

• Aby program działał mimo drobnych błędów, szczególnie tych których się spodziewamy.

• Aby zabezpieczyć program przed trollami.• Aby zabezpieczyć aplikację przed atakami.

Try/Except ogólny wyglad:

Try/ExceptNa początku wykonywana jest klauzula try

(czyli instrukcje pomiędzy try a except).

Jeżeli nie pojawi się żaden wyjątek klauzula except jest pomijana. Wykonanie instrukcji try uważa się za zakończone.

Try/Except

Jeżeli podczas wykonywania klauzuli try pojawi się wyjątek, reszta niewykonanych instrukcji jest pomijana.

Try/Except

Następnie, w zależności od tego, czy jego typ pasuje do typów wyjątków wymienionych w części except, wykonywany jest kod następujący w tym bloku, a potem interpreter przechodzi do wykonywania instrukcji umieszczonych po całym bloku try...except.

Try/Except

W przypadku pojawienia się wyjątku, który nie zostanie dopasowany do żadnego z wyjątków wymienionych w klauzuli except, zostaje on przekazany do do następnych, zewnętrznych instrukcji try. Jeżeli również tam nie zostanie znaleziony odpowiadający mu blok except, wyjątek ten nie zostanie wyłapany, stanie nieobsłużonym wyjątkiem, a wykonywanie programu zostanie wstrzymane wraz z pojawieniem się komunikatu podobnego do pokazanego powyżej.

Try/Except

W dużym uproszczeniu jest to bardzo specificzny przypadek funkcji warunkwej:

if/elif/else

Try/Except – przykłady:

Nie rób tak nigdy !

Try/Except – przykłady:

Try/Except – przykłady:

Try/Except – przykłady:

Try/Except – przykłady:

Try/Except – przykłady:

Pętla while

Pętla while to w wielkim uproszczeniu ciągły if.Funkcja będzie trwała dopóki warunek będzie spełniony.

Pętla whileprzykłady

Pętla while przykłady

Funkcje

Wiem już jak zrobić pętle żeby czegoś nie powtarzać wiele razy a co jeśli musimy używać podobnego kodu wiele razy ? W tym celu zostały stworzone funkcje.

Funkcje - przykłady

Funkcje - przykłady

Funkcje - przykłady

Zadanie

W naszej ulubionej aplikacji do BMI zrób szereg zmian:• Powtarzające się fragmenty kodu wynieś do funkcji• Zmień aplikacje aby dopytwała się o poprawne dane aż

nie zostaną on podane przez użytkownika.

Zadanie domoweNapisz gre w zgadnij liczbę ze stu w 5 szansach.Jedyne co komputer może odpowiedzieć to:• Tak trafiłeś to jest moja liczba.• Twoja liczba jest większa od mojej.• Twoja liczba jest mniejsza od mojej.Po trafieniu liczby lub skonczniu szans gra powinna pytać czy chcesz grać jeszcze I zliczać ilośc wygranych I przegranych gracza.Aby generować losowo liczbe komputera użyj funkcji randint.

Zad. dodatkowe przed rozpoczeciem gry gra powinan

pytac czy chcesz zagrac w warint 1z100/5 szansz czy 1z1000/7szans