Podstawy bioinformatyki
Instrukcje warunkowe
Joanna Bednarska, Dawid Grabarek
Zakład Chemii Fizycznej i Kwantowej
Katedra Inżynierii i Modelowania Materiałów Zaawansowanych
joanna.bednarska@pwr.edu.pl
dawid.grabarek@pwr.edu.pl
11 listopada 2015
1 / 10
Co to jest wyrażenie warunkowe?
Wyrażenie warunkowe pozwala nam na wykonanie danej części kodu, kiedy
pewien warunek, np. wartość zmiennej spełnia dane oczekiwania.
Dokładniej, wyrażenie warunkowe sprawdza wartość logiczną pewnego
wymagania i dopiero wtedy wykonuje zdefiniowane instrukcje.
Słowa kluczowe wyrażeń warunkowych
if- jeśli spełniony jest warunek
elif- jeśli spełniony jest inny warunek
else- jeśli nie są spełnione żadne warunki wcześniej zdefiniowane
2 / 10
Składnia wyrażeń warunkowych
Poniższy przykład pokazuje ogólną składnię wyrażeń warunkowych.
if war1:
instr1
elif war2:
instr2
elif war3:
instr3
else:
instrX
Zauważ, że wyrażenia if oraz elif wymagają podania warunku, a else już
nie!
Poza tym, zauważmy dwie spacje przed instrukcjami. Są to tak zwane
wcięcia (ang. intendations).
Wcięcie definiuje co leży pod daną częścią wyrażenia warunkowego.
Konieczny jest również dwukropek!
Brak któregoś z powyższych elementów jest błędem składniowym!
3 / 10
Wcięcia
Wcięcia
Kluczowym jest aby wszystkie wcięcia w danym kodzie miały taką samą
długość, np. 2, 3 lub 4 spacje.
W przeciwnym wypadku, zobaczycie Państwo następujący błąd:
IndentationError: unexpected indent
4 / 10
Osadzanie wyrażeń warunkowych
Spójrzmy na następujący przykład:
if war1:
if war1_1:
instr1
elif war1_2:
instr2
else:
instrX
Po pierwsze, zauważ, że kolejne bloki wyrażeń warunkowych mają swoje
wcięcia .
Po drugie, powyższe oznacza tyle, że wyrażenia warunkowe pod
pierwszym if będą sprawdzane tylko jeśli warunek war1 jest spełniony.
Inaczej, natychmiast zostanie wykonana instrukcja instrX.
5 / 10
Słowa in i not
Słowo in pozwala sprawdzić, czy dane wyrażenie znajduje się w obiekcie
iterowalnym (napis, krotka, lista). not jest po prostu operatorem
zaprzeczenia
Przykład
if U in sekw:
print Tak, U znajduje się w sekwencji sekw.
To co tak naprawdę zwraca wyrażenie U in sekw, to wartość logiczna
True albo False.
Przykład
>>> sekw1= AGGTTCACGT
>>> sekw2= AUGGTUUTCC
>>> U in sekw1
False
>>> U in sekw2
True
6 / 10
Operatory logiczne and i or
Dla jednego wyrażenia warunkowego, możemy podać kilka warunków,
które mogą być połączone relacjami logicznymi, spełniającymi algebrę
Boole a. Relacje te to koniunkcja (and) i alternatywa (or).
if war1 and war2:
instr1
elif war1 or war3:
instr2
Powyższe czytamy: wykonaj instrukcję instr1 jeśli oba warunki war1 i war2
są spełnione. Wykonaj instrukcję instr2 jeśli jeden z warunków war1 lub
war3 jest spełnionych.
7 / 10
Zadanie domowe
Napisać program, który liczy pierwiastki równania kwadratowego.
Ma on pobrać od użytkownika 3 liczby, które są współczynnikami przy
odpowiednich potęgach zmiennej.
Następnie powinien sprawdzić, czy współczynnik stojący przy drugiej
potędze zmiennej jest równy zero. Jeśli tak, to ma obliczyć rozwiązanie dla
równania liniowego.
Jeśli tak nie jest, program ma obliczyć deltę.
Dla ujemnej wartości delty, program ma informować, że rozwiązania leżą
na płaszczyznie zespolonej, ale nie ma ich obliczać. Dla zerowej i dodatniej
wartości, ma policzyć odpowiednio 1 i 2 pierwiastki z dokładnością do 3
miejsc po przecinku (formatowanie napisów).
8 / 10
9 / 10
10 / 10
Wyszukiwarka
Podobne podstrony:
bioinf3Bioinformatics 2011 Zhang 2083 8bioinfoI wyklad03bioinf4Bioinformatics 2012 Vlachakis bioinformatics bts637(3)elementy bioinformatyki wyklad4Bioinformatyka4Bioinformatyka wykładyBioinformatics 2011 Bakan 1575 7(1)Bioinformatyka skrypt3bioinformatyczneBD lab1Bioinformatykabioinf2 sylabusybioinfoI wyklad04bioinf1bioinf2bioinformatyczneBD lab2więcej podobnych podstron