<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Bioinformatyk.eu nowy serwis o bioinformatyce i programowaniu &#187; Python</title>
	<atom:link href="http://www.bioinformatyk.eu/index.php/category/programowanie/python/feed" rel="self" type="application/rss+xml" />
	<link>http://www.bioinformatyk.eu</link>
	<description>Kolejna witryna oparta na WordPressie</description>
	<lastBuildDate>Thu, 19 Jan 2012 20:31:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>PyCon PL 2011</title>
		<link>http://www.bioinformatyk.eu/index.php/programowanie/python/pycon-pl-2011.html</link>
		<comments>http://www.bioinformatyk.eu/index.php/programowanie/python/pycon-pl-2011.html#comments</comments>
		<pubDate>Wed, 10 Aug 2011 10:37:15 +0000</pubDate>
		<dc:creator>Justi</dc:creator>
				<category><![CDATA[Informatyka]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.bioinformatyk.eu/?p=2033</guid>
		<description><![CDATA[Między 22 a 25 września 2011 r. w Hotelu „Przedwiośnie” w Mąchocicach Kapitulnych koło Kielc odbędzie się tegoroczna impreza entuzjastów języka Python, PyCon PL 2011.  Jest to już czwarta edycja tej ogólnopolskiej konferencji. Przewidywane są następujące prelekcje: Wzorce projektowe w Pythonie. Praktyczne zastosowania. Co można zrobić z pygame System zarządzania wersjami jako część twojej aplikacji [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" style="margin-top: 10px; margin-bottom: 10px;" title="PyCon PL 2011" src="http://pl.pycon.org/2011/css/images/header-pl.jpg" alt="" width="516" height="68" /></p>
<p><strong>Między 22 a 25 września 2011 r.</strong> w Hotelu „Przedwiośnie” w Mąchocicach Kapitulnych koło Kielc odbędzie się tegoroczna impreza entuzjastów języka Python, <strong>PyCon PL 2011.</strong>  Jest to już czwarta edycja tej ogólnopolskiej konferencji.</p>
<p>Przewidywane są następujące prelekcje:</p>
<blockquote>
<ul>
<li><span style="font-size: small;">Wzorce projektowe w Pythonie. Praktyczne zastosowania.</span></li>
<li><span style="font-size: small;">Co można zrobić z pygame</span></li>
<li><span style="font-size: small;">System zarządzania wersjami jako część twojej aplikacji</span></li>
<li><span style="font-size: small;">Jak napisać program, żeby nie działał? Najczęstsze błędy i antywzorce pythonowe.</span></li>
<li><span style="font-size: small;">Nie tylko SQL? Tylko nie SQL!</span></li>
<li><span style="font-size: small;">Python i Cassandra</span></li>
<li><span style="font-size: small;">Actor model &#8211; współbieżność w dużej skali</span></li>
<li><span style="font-size: small;">VCS &#8211; piekło systemów kontroli wersji<span id="more-2033"></span></span></li>
<li><span style="font-size: small;">django CMS kontra Plone CMS</span></li>
<li><span style="font-size: small;">Hic sunt pythones &#8211; magiczna strona pythona</span></li>
<li><span style="font-size: small;">Dołącz do projektu CPython w 8 tygodni</span></li>
<li><span style="font-size: small;">Dlaczego Unikod jest trudny</span></li>
</ul>
</blockquote>
<p>Atutami tegorocznej edycji są bez wątpienia:</p>
<ul>
<li>kameralne otoczenie Gór Świętkorzyskich,</li>
<li>stosunkowo dobry dojazd samochodem, jak i komunikacją publiczną,</li>
<li>bardzo dobry standard hotelu w tym pełne wyżywienie.</li>
</ul>
<p>&nbsp;</p>
<p><span style="text-decoration: underline;">Są jeszcze wolne miejsca</span>, rejestrować się można na stronie: <a title="http://pl.pycon.org/2011/" href="http://pl.pycon.org/2011/" target="_blank">http://pl.pycon.org/2011/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bioinformatyk.eu/index.php/programowanie/python/pycon-pl-2011.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Codility &#8211; programisto sprawdź się (albo zostaniesz sprawdzony)</title>
		<link>http://www.bioinformatyk.eu/index.php/programowanie/python/codility.html</link>
		<comments>http://www.bioinformatyk.eu/index.php/programowanie/python/codility.html#comments</comments>
		<pubDate>Tue, 14 Dec 2010 13:54:48 +0000</pubDate>
		<dc:creator>Justi</dc:creator>
				<category><![CDATA[Algorytmy]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[algorytmy]]></category>
		<category><![CDATA[Programowanie]]></category>
		<category><![CDATA[testy]]></category>

		<guid isPermaLink="false">http://www.bioinformatyk.eu/?p=1480</guid>
		<description><![CDATA[Codility.com to ciekawy projekt polskich programistów, którzy postanowili stworzyć narzędzie służące do testowania samodzielnie napisanego kodu. Mamy 30 min. na wykonanie określonego zadania w wyznaczonym języku programowania, projekt zostaje szczegółowo przetestowany i oceniony (max 100 pkt.) W wersji demo możemy się sprawdzić w jednym zadaniu, którego stopień trudności określono na 1 gwiazdkę. Teraz uwaga: wszystkich [...]]]></description>
			<content:encoded><![CDATA[<p>Codility.com to ciekawy projekt polskich programistów, którzy postanowili stworzyć narzędzie służące do testowania samodzielnie napisanego kodu. Mamy 30 min. na wykonanie określonego zadania w wyznaczonym języku programowania, projekt zostaje szczegółowo przetestowany i oceniony (max 100 pkt.)</p>
<p style="text-align: center;"><a href="http://www.bioinformatyk.eu/wp-content/uploads/2010/12/logo-codility.png"><img class="aligncenter size-medium wp-image-1511" title="logo-codility" src="http://www.bioinformatyk.eu/wp-content/uploads/2010/12/logo-codility-300x84.png" alt="Codility.com" width="240" height="67" /></a></p>
<p style="text-align: justify;">W wersji demo możemy się sprawdzić w jednym zadaniu, którego stopień trudności określono na 1 gwiazdkę.</p>
<p style="text-align: justify;"><span style="text-decoration: underline;">Teraz uwaga:</span> wszystkich zainteresowanych rzeczywistym sprawdzeniem swoich umiejętności zapraszam na stronę <a title="Codility" rel="nofollow" href="http://codility.com/demo/run/" target="_blank">Codility</a>. Niżej znajdują się gotowe rozwiązania i nie ma sensu ich analizować zanim nie spróbuje się o własnych siłach zmierzyć z algorytmem.<span id="more-1480"></span></p>
<p style="text-align: justify;">Zadanie polega na stworzeniu funkcji, która zwraca tzw wartość equilibrium (oznaczymy jako i) dla danej tablicy. Jest to numer  indeksu tej tablicy, dla którego suma wartości o indeksach mniejszych od &#8222;i&#8221; jak i większych od &#8222;i&#8221; jest taka samą.</p>
<p style="text-align: justify;">Jako, że najbardziej lubię język Python, mój algorytm przy pierwszym podejściu wyglądał tak:</p>
<pre name="code" class="py">def equi ( A ):
    dl = len(A)
    for i in range(0,dl):
        sumL = 0
        sumR = 0
        if i == 0:
            sumL = 0
        if i == dl - 1:
            sumR = 0
        for j in range(0, i):
                sumL+=A[j]
        for j in range(i+1, dl):
                sumR+=A[j]
        if sumL == sumR:
            return i
    return -1</pre>
<p style="text-align: justify;"><strong>Złożoność, </strong>jak można się spodziewać (pętla w pętli!) to <strong>O(n^2), </strong>czyli bez rewelacji. Nie przeszedł 4 ostatnich testów, dlatego ocena końcowa to 75/100.<strong> </strong></p>
<p style="text-align: justify;">No to przystępujemy do <span style="text-decoration: underline;">optymalizacji. </span><strong>Trzeba zmodyfikować algorytm.<br />
</strong></p>
<pre name="code" class="py">def equi ( A ):
    dl = len(A)
    sum = 0
    prev = 0
    for i in A:
        sum += i
    for i in range(0,dl):
        sumL = 0
        sumR = 0
        if i == 0:
            sumL = 0
        else:
            prev += A[i-1]
            sumL = prev
        if i == dl - 1:
            sumR = 0
        else:
            sumR = sum - A[i] - prev
        if sumL == sumR:
            return i
    return -1
</pre>
<p style="text-align: justify;">100 pkt i złożoność O(n) świadczy o tym, że wszystko jest tak jak być powinno <img src='http://www.bioinformatyk.eu/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style="text-align: justify;">Zapraszam do dzielenia się spostrzeżeniami !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bioinformatyk.eu/index.php/programowanie/python/codility.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Słowniki frekwencyjne cz.2</title>
		<link>http://www.bioinformatyk.eu/index.php/programowanie/python/slowniki-frekwencyjne-cz-2.html</link>
		<comments>http://www.bioinformatyk.eu/index.php/programowanie/python/slowniki-frekwencyjne-cz-2.html#comments</comments>
		<pubDate>Sun, 01 Aug 2010 21:28:31 +0000</pubDate>
		<dc:creator>Justi</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[angielski]]></category>
		<category><![CDATA[interdyscyplinarne]]></category>

		<guid isPermaLink="false">http://www.bioinformatyk.eu/?p=968</guid>
		<description><![CDATA[Jakiś czas temu poruszałam temat słowników frekwencyjnych, które mogą się Tobie przydać do nauki języka obcego.  Jako że obiecałam wrócić do tego tematu, poniżej znajdziesz krótki program w Pythonie. Realizuje on, jak się pewnie domyślasz, funkcję wypisywania najczęściej występujących słów w danym tekście. Aby było ciekawiej, program wyszukuje tekst w plikach pdf, czyli w najpopularniejszym [...]]]></description>
			<content:encoded><![CDATA[<p>Jakiś czas temu poruszałam <a href="http://www.bioinformatyk.eu/index.php/materialy/sprytne-slowniki-slowniki-frekwencyjne.html">temat słowników frekwencyjnych</a>, które mogą się Tobie przydać do nauki języka obcego.  Jako że obiecałam wrócić do tego tematu, poniżej znajdziesz krótki program w Pythonie. Realizuje on, jak się pewnie domyślasz, funkcję wypisywania najczęściej występujących słów w danym tekście.</p>
<p>Aby było ciekawiej, program wyszukuje tekst w plikach pdf, czyli w najpopularniejszym formacie stosowanym przy publikacjach naukowych. Dzięki temu szybko zorientujesz się, jakie słownictwo przyda się najbardziej przy czytaniu danego tekstu i które braki warto uzupełnić. Myślę, że program, po niewielkich modyfikacjach znalazłby wiele innych zastosowań, swoje propozycje możesz wpisać w komentarzu.<br />
<span id="more-968"></span><br />
Już na początku spotkałam się z problemem braku jakiejkolwiek biblioteki do Pythona jeśli chodzi o odczyt z plików pdf.  Niestety nie ma aktualnie żadnej opensource&#8217;owej biblioteki, jedyna dostępna &#8211; ReportLab, w wersji bezpłatnej może jedynie generować pdf-y, bez możliwości czytania ich zawartości.</p>
<p>Znalazłam inne rozwiązanie: pakiet xpdf</p>
<p>Zainstaluj pakiet xpdf (Ubuntu) wpisując w konsoli<br />
<code>sudo apt-get install xpdf</code><br />
Dla pozostałych systemów jest również dostępny: <a rel="nofollow" href="http://www.foolabs.com/xpdf/download.html" target="_blank">http://www.foolabs.com/xpdf/download.html</a> &#8211; pod precompiled binaries, z tym że zastrzegam, iż nie testowałam programu pod innym systemem poza Ubuntu.</p>
<p>Zakładam, że Pythona (ver. 2.6 +) już masz <img src='http://www.bioinformatyk.eu/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Sercem skryptu jest słownik, którego kluczem jest znalezione słowo a wartością &#8211; jego liczba wystąpień w tekście.<br />
Użycie xpdf-a nasŧepuje w linii 18, który tworzy plik txt, który następnie trzeba przetworzyć.<br />
<code>TopWords = 1000</code> definiuje liczbę słów, które chcesz zobaczyć w top.<br />
Jak wywołać ten skrypt? jako parametr musisz podać ścieżkę katalogu, w którym masz swoje pliki pdf. Jako, że wyszukiwanie jest rekurencyjne, przetworzone zostaną również pliki w podkatalogach.</p>
<p>Przykładowe wywołanie:<br />
<code>python freq.py /home/justi/Pulpit/pdf</code><br />
Rezultat działania znajdziesz w pliku result.txt w tym samym katalogu, z którego uruchomiono skrypt. Miłej zabawy <img src='http://www.bioinformatyk.eu/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<pre name="code" class="py">import subprocess
import sys
import re
import os

try:
    p1 = subprocess.Popen(
    ['find', sys.argv[1], '-type', 'f', '-name', '*.pdf'],
    stdout=subprocess.PIPE)

    output_str = p1.communicate()[0]
    output_str = output_str.split('\n')
    output_str.pop() #pozbywamy się zbędnego ostatniego wiersza
    dict = {}

    for file in output_str:
    try:
        p = subprocess.Popen(
        ['pdftotext', '-q', file, "temp.txt"],
        stdout = subprocess.PIPE).wait() #czekamy na koniec procesu

        f = open("temp.txt", 'r')

        words = re.split('\W+', f.read().lower())

        for w in words:
            if (len(w) &gt; 3):
                if dict.has_key(w):
                    dict[w] += 1
                else:
                    dict[w] = 1
        f.close()

    except IOError as (errno, strerror):
        print "I/O error({0}): {1}".format(errno, strerror)

    os.remove(os.path.join(os.getcwd(), "temp.txt"))

    f = open("result.txt", 'w')

    TopWords = 1000
    for index, w in enumerate(sorted(dict, key=dict.get, reverse=True)):
        if index &lt; TopWords:
            f.write(w + "  " + str(dict[w]) + "\n")
    f.close()

except IOError as (errno, strerror):
    print "I/O error({0}): {1}".format(errno, strerror)
</pre>
<p>Ściągnij plik: Note: There is a file embedded within this post, please visit this post to download the file.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bioinformatyk.eu/index.php/programowanie/python/slowniki-frekwencyjne-cz-2.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Python. Projekty do wykorzystania</title>
		<link>http://www.bioinformatyk.eu/index.php/programowanie/python/python-projekty-do-wykorzystania.html</link>
		<comments>http://www.bioinformatyk.eu/index.php/programowanie/python/python-projekty-do-wykorzystania.html#comments</comments>
		<pubDate>Tue, 02 Mar 2010 12:55:17 +0000</pubDate>
		<dc:creator>Justi</dc:creator>
				<category><![CDATA[Książki[PL]]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[książki]]></category>
		<category><![CDATA[Programowanie]]></category>

		<guid isPermaLink="false">http://www.bioinformatyk.eu/?p=516</guid>
		<description><![CDATA[W księgarni Helion pojawiła się nowa książka o tematyce &#8222;pythonowej&#8221;. Zapraszam do zapoznania się z opisem: Dzięki książce Python. Projekty do wykorzystania dowiesz się, jak przygotować swoje środowisko pracy i rozpocząć przygodę z językiem Python. (&#8230;) Na konkretnych, praktycznych projektach pokaże Ci, jak wykorzystać potencjał drzemiący w tym języku. Wśród przykładów znajdziesz opis takich zagadnień, [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">W księgarni Helion pojawiła się nowa książka o tematyce &#8222;pythonowej&#8221;. Zapraszam do zapoznania się z opisem:</p>
<p style="text-align: justify;"><a title="Python. Projekty do wykorzystania" rel="nofollow" href="http://helion.pl/view/2681w/pytprw.htm" target="_blank"><img style="float: left; margin: 2px 5px;" title="Python. Projekty do wykorzystania" src="http://helion.pl/okladki/125x163/pytprw.jpg" alt="Python. Projekty do wykorzystania" width="125" height="163" /></a>Dzięki książce <strong>Python. Projekty do wykorzystania</strong> dowiesz się, jak przygotować swoje środowisko pracy i  rozpocząć przygodę z językiem Python. (&#8230;) Na konkretnych, praktycznych projektach pokaże  Ci, jak wykorzystać potencjał drzemiący w tym języku. Wśród przykładów  znajdziesz opis takich zagadnień, jak wykonywanie migawek katalogów i  plików, projektowanie katalogu filmów i systemu testującego wydajność  WWW czy też tworzenie systemu gromadzenia opinii. Najważniejsze jest  jednak to, że każde z tych rozwiązań możesz bez trudu zaadaptować do  potrzeb Twojego projektu. Książka ta stanowi świetną lekturę zarówno dla  zaawansowanych programistów Pythona, jak i tych, którzy chcą dopiero  rozpocząć z nim pracę.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bioinformatyk.eu/index.php/programowanie/python/python-projekty-do-wykorzystania.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Testowanie złożoności obliczeniowej 2 algorytmów w Pythonie</title>
		<link>http://www.bioinformatyk.eu/index.php/programowanie/python/testowanie-zlozonosci-obliczeniowej-2-algorytmow-w-pythonie.html</link>
		<comments>http://www.bioinformatyk.eu/index.php/programowanie/python/testowanie-zlozonosci-obliczeniowej-2-algorytmow-w-pythonie.html#comments</comments>
		<pubDate>Sat, 16 May 2009 20:01:45 +0000</pubDate>
		<dc:creator>Justi</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[algorytmy]]></category>

		<guid isPermaLink="false">http://www.bioinformatyk.eu/?p=160</guid>
		<description><![CDATA[Postanowiłam sprawdzić w praktyce, jak się mają teoretyczne wyliczenia złożoności obliczeniowej algorytmów do rzeczywistych wyników uzyskiwanych w kompilatorze. Do testów wybrałam język Python oraz kompilator Eclipse. Problem: Znaleźć minimalny i maksymalny element w tablicy n-elementowej. Można to zrobić na 2 sposoby: 1) przechodząc po kolei po każdym elemencie tablicy zadecydować, czy przypisać go do min [...]]]></description>
			<content:encoded><![CDATA[<p>Postanowiłam sprawdzić w praktyce, jak się mają teoretyczne wyliczenia złożoności obliczeniowej algorytmów do rzeczywistych wyników uzyskiwanych w kompilatorze.</p>
<p>Do testów wybrałam język Python oraz kompilator Eclipse.</p>
<p>Problem:<br />
Znaleźć minimalny i maksymalny element w tablicy n-elementowej.</p>
<p>Można to zrobić na 2 sposoby:</p>
<p><span id="more-160"></span></p>
<p>1) przechodząc po kolei po każdym elemencie tablicy zadecydować, czy przypisać go do min lub max. Złożoność tego algorytmu to ok. 2n<br />
2) porównywać <strong>ze sobą</strong> 2 kolejne elementy i zadecydować który przypisać do min a który do max. Złożoność tego algorytmu to ok. 3*n/2 = 1,5n</p>
<p>Jak wynika ze wstępnych założeń, algorytm drugi powinien być o ok. 25% szybszy niż pierwszy.</p>
<p>Zapis w Pythonie:</p>
<p>Algorytm 1:</p>
<pre name="code" class="py">def algorytm1(tab):

        min = 0
        max = 0
        t1 = time.clock()

        for i in range(0,ilosc,1):
            if (tab[i] &gt; max):
                max = tab[i]
            if (tab[i] &lt; min):
                min = tab[i]
        t2 = time.clock()

        return t2-t1</pre>
<p>Algorytm 2:</p>
<pre name="code" class="py">def algorytm2(tab):

        min = 0
        max = 0
        t1 = time.clock()

        for i in range(0,ilosc,2):
            if(tab[i] &gt; tab[i+1]):
                if (tab[i] &gt; max):
                    max = tab[i]
                if (tab[i+1] &lt; min):
                    min = tab[i+1]
            else:
                if (tab[i+1] &gt; max):
                    max = tab[i+1]
                if (tab[i] &lt; min):
                    min = tab[i]
        t2 = time.clock()

        return t2-t1</pre>
<p>Obie funkcje zwracają różnicę czasu pomiędzy momentem swojego startu i zakończenia.</p>
<p>Tablice testową program tworzy z losowo wybranych liczb typu całkowitego z przedziału od 1 do 1000. Wielkość tablicy przekazywana jest jako parametr tej funkcji.</p>
<pre name="code" class="py">def genTab(ilo):

        tablica = []

        for i in range(ilo):
            tablica.append(round(random.random() * 1000))

        return tablica</pre>
<p>Cały program do ściągnięcia: Note: There is a file embedded within this post, please visit this post to download the file.</p>
<p>Program zwraca procentową różnicę czasu działania między algorytmem drugim a pierwszym. Jest to średnia z x prób (ostatnia pętla).</p>
<p>Wyniki zaprezentowane są na wykresie:<br />
<img class="alignleft size-full wp-image-202" title="procentowy_wzrost_predkosci_algorytmu_drugiego_do_pierwszego_w_zaleznosci_od_wielkosci_tablicy_testowej" src="http://www.bioinformatyk.eu/wp-content/uploads/2009/05/procentowy_wzrost_predkosci_algorytmu_drugiego_do_pierwszego_w_zaleznosci_od_wielkosci_tablicy_testowej.png" alt="procentowy_wzrost_predkosci_algorytmu_drugiego_do_pierwszego_w_zaleznosci_od_wielkosci_tablicy_testowej" width="545" height="374" /></p>
<p>Jak widać, różnica w szybkości działania obu algorytmów jest tym bardziej widoczna, im większy jest rozmiar danych, (n-&gt; nieskończoności).</p>
<p>Jeszcze wykres średniej procentowej wzrostu:<br />
<img class="alignleft size-full wp-image-205" title="sredni_procentowy_wzrost_szybkosci_dzialania_alg_2_do_alg_1" src="http://www.bioinformatyk.eu/wp-content/uploads/2009/05/sredni_procentowy_wzrost_szybkosci_dzialania_alg_2_do_alg_1.png" alt="sredni_procentowy_wzrost_szybkosci_dzialania_alg_2_do_alg_1" width="544" height="375" /></p>
<p>A gdyby nieco zoptymalizować kod algorytmu numer 2?</p>
<p>Dopisałam w nim 2 linijki kodu</p>
<pre name="code" class="py">            zm1 = tab[i]
            zm2 = tab[i+1]
</pre>
<p>po to, aby nie odwoływać się za każdym razem do samej tablicy (która może być stosunkowo duża), zamiast tego zrobić to raz, na samym początku.</p>
<p>Wyniki są ciekawe:<br />
<img class="alignleft size-full wp-image-211" title="wzrost_szybkosci_algorytmu_drugiego_po_optymalizacji" src="http://www.bioinformatyk.eu/wp-content/uploads/2009/05/wzrost_szybkosci_algorytmu_drugiego_po_optymalizacji.png" alt="wzrost_szybkosci_algorytmu_drugiego_po_optymalizacji" width="545" height="378" /></p>
<p>Dla dużych wartości n szybkość działania algorytmu drugiego względem pierwszego wzrosła z ok 20% do ok. 27,5% <img src='http://www.bioinformatyk.eu/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Program po optymalizacji do ściągnięcia: Note: There is a file embedded within this post, please visit this post to download the file.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bioinformatyk.eu/index.php/programowanie/python/testowanie-zlozonosci-obliczeniowej-2-algorytmow-w-pythonie.html/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Python &#8211; polecane książki</title>
		<link>http://www.bioinformatyk.eu/index.php/programowanie/python/python-polecane-ksiazki.html</link>
		<comments>http://www.bioinformatyk.eu/index.php/programowanie/python/python-polecane-ksiazki.html#comments</comments>
		<pubDate>Fri, 13 Mar 2009 22:34:19 +0000</pubDate>
		<dc:creator>Justi</dc:creator>
				<category><![CDATA[Książki[PL]]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[książki]]></category>
		<category><![CDATA[Programowanie]]></category>

		<guid isPermaLink="false">http://www.bioinformatyk.eu/?p=15</guid>
		<description><![CDATA[Książka „Python. Wprowadzenie. Wydanie III” stanowi kompletny i szczegółowy przewodnik po podstawach języka Python. Wiedza w niej zawarta umożliwia pełne zrozumienie tego języka, co pozwoli Ci pojąć dowolne przykłady kodu na poziomie aplikacji. Zwięźle i jasno przedstawione przykłady świetnie ilustrują poszczególne kwestie i problemy, co daje solidny fundament do praktycznego zastosowania świeżo nabytych umiejętności. W [...]]]></description>
			<content:encoded><![CDATA[<dl class="wp-caption alignleft" style="width: 135px;">
<dt class="wp-caption-dt"><a href="http://helion.pl/view/2681w/pythw3.htm"><img title="Python. Wprowadzenie. Wydanie III " src="http://helion.pl/okladki/125x163/pythw3.jpg" alt="Python. Wprowadzenie. Wydanie III " width="125" height="163" /></a></dt>
</dl>
<p style="text-align: left;">Książka „Python. Wprowadzenie. Wydanie III” stanowi kompletny i szczegółowy przewodnik po podstawach języka Python. Wiedza w niej zawarta umożliwia pełne zrozumienie tego języka, co pozwoli Ci pojąć dowolne przykłady kodu na poziomie aplikacji. Zwięźle i jasno przedstawione przykłady świetnie ilustrują poszczególne kwestie i problemy, co daje solidny fundament do praktycznego zastosowania <span id="more-15"></span>świeżo nabytych umiejętności. W niniejszym — trzecim już — wydaniu znajdziesz nowy zestaw praktycznych wskazówek i porad, dobranych w taki sposób, aby obejmowały aktualne zalecenia i najlepsze praktyki programowania. Krótko mówiąc, ta książka ma wszystko, czego potrzebujesz, aby nie tylko dokładnie poznać język Python, ale także efektywnie z niego korzystać!</p>
<p style="text-align: left;">
<p style="text-align: left;">
<p style="text-align: left;">
<hr />
<dl class="wp-caption alignleft" style="width: 135px;">
<dt class="wp-caption-dt"><a href="http://helion.pl/view/2681w/pythpo.htm"><img title="Python. Od podstaw" src="http://helion.pl/okladki/125x163/pythpo.jpg" alt="Python. Od podstaw" width="125" height="163" /></a></dt>
</dl>
<p style="text-align: left;">Książka &#8222;Python. Od podstaw&#8221; to podręcznik dla tych, którzy chcą opanować ten język i tworzyć w nim własne aplikacje. Dzięki niej poznasz wszystkie elementy Pythona i dowiesz się, na czym polega programowanie obiektowe. Nauczysz się przetwarzać dane tekstowe i liczbowe, tworzyć graficzne interfejsy użytkownika za pomocą GTK oraz łączyć aplikacje z bazami danych.</p>
<p style="text-align: left;">
<p style="text-align: left;">Note: There is a file embedded within this post, please visit this post to download the file.</p>
<p style="text-align: left;">
<p style="text-align: left;">
<hr />
<dl class="wp-caption alignleft" style="width: 135px;">
<dt class="wp-caption-dt"><a href="http://helion.pl/view/2681w/pytrec.htm"><img title="Python. Receptury" src="http://helion.pl/okladki/125x163/pytrec.jpg" alt="Python. Receptury" width="125" height="163" /></a></dt>
</dl>
<p style="text-align: left;">Książka &#8222;Python. Receptury&#8221; to zbiór rozwiązań problemów, z jakimi w codziennej pracy borykają się programiści korzystający z tego języka. Materiały do niej przygotowało ponad 300 członków społeczności Pythona odpowiadających na pytania zadawane na forum internetowym. Rozwiązania zostały przetestowane w praktyce, co ułatwia ich zaimplementowanie we własnych projektach.</p>
<p style="text-align: left;">
<p style="text-align: left;">Note: There is a file embedded within this post, please visit this post to download the file.</p>
<p style="text-align: left;">
<hr />
<dl class="wp-caption alignleft" style="width: 135px;">
<dt class="wp-caption-dt"><a href="http://helion.pl/view/2681w/pythro.htm"><img title="Python. Rozmówki" src="http://helion.pl/okladki/125x163/pythro.jpg" alt="Python. Rozmówki" width="125" height="163" /></a></dt>
</dl>
<p style="text-align: left;">Dzięki książce &#8222;Python. Rozmówki&#8221; błyskawicznie poznasz najważniejsze zwroty i konstrukcje oraz podstawy składni tego języka programowania. Nauczysz się między innymi wykonywać w aplikacjach operacje na łańcuchach i pracować z typami danych, a także pisać programy wielowątkowe i sieciowe. Dowiesz się, jak zarządzać plikami i przetwarzać je oraz jak obsługiwać bazy danych.</p>
<p style="text-align: left;">
<p style="text-align: left;">Note: There is a file embedded within this post, please visit this post to download the file.</p>
<p style="text-align: left;">
]]></content:encoded>
			<wfw:commentRss>http://www.bioinformatyk.eu/index.php/programowanie/python/python-polecane-ksiazki.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

