bioinf2


Podstawy bioinformatyki
Podstawowe typy danych
Liczby całkowite, liczby zmiennoprzecinkowe i napisy
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
28 pazdziernika 2015
1 / 15
Plan wykładu
1
Typy danych
Liczby całkowite i zmiennoprzecinkowe
Napisy/stringi
2
Pierwsze skrypty
2 / 15
Typy danych
Liczby całkowite - integer
Liczby zmiennoprzecinkowe - floating point number
Napis - string
Krotka - tuple
Lista - list
Słownik - dictionary
Wartość logiczna- bool
3 / 15
Typy danych
Typ danych- intuicyjnie pewna struktura języka programowania,
przechowująca informację.
Typy danych można porównać do części mowy. Czasownik służy do
wyrażania akcji lub stanu tego o czym informację przechowuje rzeczownik,
natomiast przymiotnik pozwala dokładniej opisać rzeczownik. Co więcej,
większość akcji  pasuje tylko do pewnej liczby rzeczowników, np. na
obiekcie  wanna można wykonać operację  wykąpać się ,a także zapytać
o  objętość . To pierwsze zwraca czystego człowieka, a to drugie liczbę,
która jest własnością wanny.
Z kolei na obiekcie  czajnik ciężko wykonać operację  wykąpać się , ale
można za to wykonać operację  zagotuj wodę , a także zapytać o
 objętość i  moc pracy .
Podobnie jest z typami danych...
4 / 15
Liczby rzeczywiste
Liczby całkowite (w sensie matematycznym) są typu int, np. -2, 0, 5, 20.
Liczby niecałkowite (w sensie matematycznym) są typu float, np. -2.0,
0.0, 5.4, 10.0002.
Przykład
>>> 17 / 3 # int/int = int
5
>>> 17 / 3.0 # int/float = float
5.666666666667
>>> 17 // 3.0 #Jawnie zwróć podłogę, ale typ float!
5.0
>>> 5*3 + 2
17
>>> 5*3 +2.0
17.0
Typ float jest  ogólniejszy niż int.
5 / 15
Napis
Napisy są typu str.
Przykład
>>>  To jest napis #Tworzymy napis
 To jest napis
>>>  This is Dawid s lecture #Nie ma drugiego
File "", line 1 #apostrofu zamykającego
 This is Dawid s lecture
^
SyntaxError: invalid syntax
>>> "This is Dawid s lecture" #Używamy cudzysłowiu
"This is Dawid s lecture"
>>> "He said \"yes\"."
 He said "yes".
>>> str(567.890) #Zamień liczbę na napis
 567.890
>>> str(567.890) == 567.890 #Nie, ponieważ typy są różne.
False 6 / 15
Napis- funkcja print
Przykład
>>> print "He said\"yes\"."
He said "yes".
#Porównaj następujace linijki kodu
>>>  Oto napis\n w dwóch linijkach.
>>> print  Oto napis\n w dwóch linijkach.
Funkcja print pozwala na wydrukowanie napisu (i nie tylko!) w formie
czytelnej dla człowieka (human-readable). Porównaj:
Przykład
>>> import math
>>> math.pi.__doc__
>>> print math.pi.__doc__
7 / 15
Napis- funkcja print
Przykład
>>> print    Zamiast \\n, można używać trzech apostrofów
żeby przechodzić
do
następnych
linijek.  
8 / 15
Operacje na napisach
Przykład
>>>  Dawid +  Grabarek #Napisy można dodawac/kleić
>>>  Dawid * 5 #Napisy można powtarzać przez mnożenie
przez liczbę typu int. Spróbuj przez
liczbę typu float!
9 / 15
Pierwszy skrypt-początki
Skrypt to po prostu mały program będący plikiem tekstowym.
Aby napisać skrypt, możemy użyć dowolnego edytora tekstowego, np.
gedit. W pierwszej linijce nowego skryptu wpisujemy:
#!/usr/bin/python
Jest to podanie ścieżki do interpreta, którą poznamy wpisując which
python w terminal.
Aby móc korzystać z polskich znaków w pythonie, wpisujemy w drugiej
linijce skryptu:
# -*- coding: utf8 -*-
10 / 15
Pierwszy skrypt- pobieranie danych od użytkownika
W skrypcie możemy zapisać wiele danych, tzn. zdefiniować zmienne, ale
często wymagamy tego, aby użytkownik bez modyfikacji kodu mógł pod
zmienną wprowadzać swoje własne dane.
Służą do tego komendy:
input( Tekst zachęty:  )
raw input( Tekst zachęty:  )
Polecenie input() stara się zawsze określić jakiego typu są wprowadzone
dane.
Z kolei raw input() przyjmuje cokolwiek użytkownik wpisze i zamienia to
na napis.
Na razie wystarczy zapamiętać tyle:
input() stosujemy, gdy oczekujemy liczby
raw input() stosujemy, gdy oczekujemy napisu
11 / 15
Pierwszy skrypt- do dzieła
Napisz skrypt, który pobiera dwie liczby od użytkownika a następnie
zwraca wyniki kilku działań matematycznych, np. dodawania,
odejmowania, mnożenia, dzielenia, obliczy resztę z dzielenia dwóch liczb,
sumę kwadratu sinusa pierwszej i kwadratu cosinusa drugiej liczby oraz
sinus sumy kwadratów liczb.
12 / 15
Drugi skrypt
Napisz skrypt, który pobiera od użytkownika jego imię i nazwisko (jako
jeden napis), a następnie drukuje je w ramce z gwiazdek (FABULOUS):
******************
* *
* Dawid Grabarek *
* *
******************
Co jest potrzebne?
Funkcja raw input
Mnożenie napisów
Dodawanie napisów
Funkcja, która pozwoli określić długość napisu wprowadzonego przez
użytkownika
Wypróbowanie na imionach i nazwiskach z i bez polskich znaków
Ciąg dalszy na kolejnym slajdzie.
13 / 15
Drugi skrypt c.d.
Ta ostatnia funkcja to len().
Masz wątpliwość jak jej użyć? Wpisz w interpreter print len. doc .
To jest funkcja wbudowana tak jak dir().
Nie jest to więc atrybut typu str, a raczej coś zewnętrznego co może
działać na nasz obiekt, np. kran nie jest integralną częścią wanny, ale
działa na wannę, bo ją napełnia wodą.
(Studenci:  Ale on ma głupie te przykłady... )
14 / 15
Funkcja len()
Funkcja len() zwraca długość sekwencji lub zbioru znaków/elementów.
Przykład
>>> len( Napis )
5
>>> len( a a a ) #Również spacje są liczone!
7
>>> imie= Dawid Grabarek
>>> x=len(imie) #Może długość imienia i nazwiska
#będzie potrzebna kilka razy?
#Dlatego zapisujemy ją jako zmienną.
>>> print x
14
15 / 15


Wyszukiwarka