Python perusteet

 

 

Python koodit ja tehtävät 26.10.12:

  • q & a.py
  • ohjelmointihaaste (sanalista):
    • tallenna sivu: wiktionary.org Frequency_lists Finnish kovalevylle ja avaa sisältö pythoniin (wikipedia ilmeisesti torjuu pythonin clientinä, joten suora lataus ei välttämättä onnistu)
    • lataa sivu Beautifulsoup moduliin ja poimi kaikki sanat python listaan (modulin installointi komentorivillä: E:\Portable Python 2.7.3.1\App\Scripts>easy_install beautifulsoup4)
    • tee ohjelma, joka nappaa listasta satunnaisen sanan, joka on 4-8 merkkiä pitkä
  • pygtk book
  • pygtk tehtäviä:
    • muokkaa kirjan esimerkkiä 1.2.4 siten, että nappia klikkaamalla label:issa näkyy uusi sana sanojen listasta (esim. edellisessä tehtävässä luodusta listasta)
    • muokkaa sitä niin, että näkyviin tulee satunnainen uusi sana
  • Ohjelmointihaasteita: (tuntipäiväkirja)
    1. tee ohjelma, joka avaa tuntipaivakirja.txt tiedoston ja printtaa sen sisällön python tulkkiin
    2. jatka edellisestä: luo koodi joka poimii tuntipaivakirjasta aikatiedot listaan seuraavanlaiseen rakenteeseen:
      [['17:30', '21:00'], ['18:20', '19:00'], .., ['16:35', '16:55']]
      vinkki 1 String Pattern Matching
      vinkki 2 Regular Expression Syntax tsekkaa \d,\s ja +
      vinkki 3: string split ja strip metodi (ratkaisu)
    3. Muokkaa Time luokkaa esimerkissä: http://thinkpython.com/code/Time2.pyniin että se laskee myös kahden ajan välisen erotuksen. Testaa: koodilla:
      t1 = Time(7, 40,10)
      t2 = Time(9, 41,20)
      print(t2 - t1)
      pitäisi tulostaa:
      02:01:10
      vinkit: __add__ metodi implementoi plusmerkki operaattorin
      vastaavasti __sub__ implementoi miinusmerkki-operaattorin
    4. tee ohjelma, joka laskee kuinka monta tuntia ja minuuttia työpäiväkirjasta löytyy yhteensä? tehtäväpohjassa vinkkejä: (tehtäväpohja04) (Time2.py) (ratkaisu)