bioinf3

background image

Podstawy bioinformatyki

Podstawowe typy danych

Napisy i ich formatowanie

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

4 listopada 2015

1 / 12

background image

Plan wykładu

1

Rozwiązywanie problemów- imię w ramce

2

Typy danych

Napisy ciąg dalszy
Ważne atrybuty napisów
Formatowanie napisów

2 / 12

background image

Rozwiązywanie problemów- imię w ramce

Jeśli w skrypcie, który produkuje imię w ramce wpiszemy polskie znaki,
wówczas ramka nie wychodzi prawidłowo:

Przykład

******************
*

*

* Dawid Grabarek *
*

*

******************

*********************
*

*

* Łukasz Wolański *
*

*

*********************

3 / 12

background image

Rozwiązywanie problemów- imię w ramce

Procedura postępowania w takim przypadku:

Odpowiedź na pytanie co może być źródłem błędu:

zmiennia imie
zmienna dl

Haszujemy (#) wszystko co wykorzystuje zmienną imie i nakazujemy
jedynie jej wydrukowanie. Zahaszowane linijki nie są interpretowane
przez interpreter.

Wykonujemy skrypt i powtarzamy haszowanie dla zmiennej dl

Porównujemy wyniki. To przeważnie pozwoli nam ustalić źródło błędu

4 / 12

background image

Atrybuty

Definicja

Atrybut

- element składni języka programowania, który określa
konkretną właściwość nadaną wybranemu elementowi, a
także operacje, które mogą być na elemencie wykonywane.

Przykład

>>> x=7
>>> dir(x) #Wyświetl atrybuty konkretnego obiektu

typu int

>>> dir(int) #Wyświetl atrybuty obiektu typu int
>>> dir(float)
>>> dir(str)

5 / 12

background image

Napis- ważne atrybuty

Przykład

>>> a=’Bardzo ważny napis. Na dodatek dłuuuuugi.’
>>> dir(a) #Wyświetl atrybuty napisu
>>> a.count(’N’)
1
>>> a.count(’n’) #Istnieje różnica między dużą i
2

małą literą

>>> a.count(’.’)
2
>>> a.count(’ ’) #Można liczyć spacje i znaki
5

interpunkcyjne

>>> a.count(’azd’)
0
>>> a.index(’a’) #Wydrukuj najmniejszy indeks (pozycję)
1

na której znajduje się litera ’a’

6 / 12

background image

Napis- ważne atrybuty

Atrybuty islanum, isalpha, isdigit, islower, isspace, istitle, isupper
sprawdzają, czy elementy napisu są jednego rodzaju, np. czy wszystkie są
numerami, dużymi literami, czy napis to tylko spacje, itd.
Wypróbuj działanie różnych atrybutów. Używaj atrybutu

doc .

Przykład

>>> a.split() #Zwraca listę słów rozdzielonych spacją
>>> a.split(’a’) #Separator można dobrać samodzielnie
>>> slowa=a.split() #Utwórzmy listę słów
>>> spacja=’ ’ #Napis, będący spacją
>>> spacja.join(slowa) #Połącz spacją elementy

w liście słów

>>> ’ ’.join(slowa) #Można to też zrobić szybciej
>>> b=’

To jest napis z spacjami

>>> a.strip() #Porównaj
>>> b.strip()
>>> a.replace(’a’, ’’) #Usuń wszystkie a

w kopii napisu

>>> a.replace(’a’, ’hhh’)

7 / 12

background image

Napis- ważne atrybuty

Przykład

>>> timon=’hakuna matata’
>>> timon.capitalize() #Zwraca kopię napisu

z pierwszą wielką literą

>>> timon.title()
>>> timon.upper()
>>> timon.lower()

Uwaga

Zauważ, że powyższe atrybuty zwracają kopię obiektu. Sam obiekt
pozostaje niezmieniony.
Aby go zmienić, należy użyć następującej składni:
zmienna=zmienna.atrybut()

8 / 12

background image

Formatowanie napisów

Formatowanie napisów służy utrzymaniu wysokiej kontroli nad tym co
napis ma zawierać.
Przyjrzyjmy się następującemu przykładowi.

Składnia formatowania napisów

x=’żaba’
’’’Tutaj zostanie wprowadzone słowo pod
zmienną x: %s’’’% x
calk=98.3
zmienn=3.14159
’’’Tutaj będzie liczba typu int: %d, natomiast
tutaj liczby typu float z trzema cyframi
po przecinku: %.3f’’’% (calk, zmienn)

9 / 12

background image

Formatowanie napisów

Najważniejsze kody formatowania

%s- formatowanie napisu
%d- zamiana liczby typu int() na napis
%f- zamiana liczby typu float() na napis
%%- wprowadzenie znaku %

10 / 12

background image

Formatowanie napisów

Więcej kontroli

%20s, %8d- wyrównaj napis/liczbę do prawej z polem napisu o długości
20 znaków, a liczbę 8 znaków. Pole nigdy nie będzie krótsze niż podany
napis/liczba
%.5s- obetnij napis tak, żeby zawierał tylko 5 pierwszych znaków
%10.5s- obetnij napis tak, żeby zawierał tylko 5 pierwszych znaków w
polu o długości 10
%-20d- jak wyżej, ale wyrównanie do lewej
%+7d- wyrównanie do prawej i wstawienie znaku liczby, nawet jeśli jest
ona dodatnia
%10.4f- wyrównanie do prawej, pole o długości 10 znaków i 4 cyfry po
przecinku
%07d- wyrównanie do prawej, pole o długości 7 znaków wypełnione
zerami (poza tym co wypełni sama liczba)

11 / 12

background image

Zadanie domowe

Zad. 1.
Napisz skrypt wektory.py, który ma policzyć kąt pomiędzy dwoma
wektorami na płaszczyźnie (tzn. wektor jest dwuwymiarowy). Odpowiedni
wzór powiązany jest z iloczynem skalarnym wektorów.
Niech skrypt pobiera od użytkownika 4 liczby (dwie współrzędne dla
każdego z wektorów).
Uzyj formatowania napisów, aby wynik zaokrąglony był do 2 miejsc po
przecinku.
Zad. 2.
Przepisz skrypt, który wykonywał proste obliczenia (pierwszy skrypt) tak
żeby wynik zaokrąglony był do 3 miejsc po przecinku, a długość całkowita
pola (tzn. razem z liczbą) wynosiła 10 znaków.
Poza tym skrypt ma po każdej funkcji print informować o liczbach, na
których wykonano działania, np.
Wynik dodawania liczb 2, 11: 13

12 / 12


Document Outline


Wyszukiwarka

Podobne podstrony:
Bioinformatyka6
bioinformatyczneBD lab1
Bioinformatyka4
sss teoria, Biotech, BIOTECHNOLOGIA, Semestr V, Spec. Bioinf, SSS, Egzamin
bioinformatyka w13 2008 9 web
bioinformatyka w2 2008 web
cw1 Zadania, Biotech, BIOTECHNOLOGIA, Semestr V, Spec. Bioinf, SSS, LAB, Lab 2
bioinformatyka w9 2008 web
elementy bioinformatyki wyklad2
bioinformatyka Bioinf8
bioinformatyka w6 2008 web
bioinformatyka, Bioinf11, 1
Bioinformatyka wykład 1
16 bioinformatryka
bioinfo-pyt odp-1, BIOINFORMATYKA
Bioinformatyka wykład 3
bioinformatyka w11 2008 web
BIOINFORMATYKA, Nauka - różności, Fizyka medyczna, Biofizyka
bioinformatyka, Bioinf9, 1

więcej podobnych podstron