Viies tund

Veel üks andmetüüp teksti ja numbrite kõrvale: nimekirjad:

kuud = ('Jaanuar','Veebruar','Märts','Aprill','Mai','Juuni',\
'Juuli','August','September','Oktoober','November',' Detsember')
print kuud[11]
print kuud

See on täpsemalt Pythoni jaoks “Tuples” – nimekiri, mida muuta ei saa.

Meenutuseks: kõikidele programmidele kaks esimest rida:
#!/usr/bin/python
# -*- coding: utf-8 -*-

Teine võimalus on muudetavad nimekirjad – “List”:


kassid = ['Miisu', 'Kurri', 'Toomas', 'Triibu', 'Kiki']
print kassid[1] # näitame teist kassinime nimekirjast - loendamine algab nullist
kassid.append('Kata') # lisame lõppu uue kassinime Kata
print kassid
del kassid[2] # Eemaldame kolmanda kassinime
print kassid

“Elu, universum ja kõik”:

demonimekiri = ["elu", 42, "universum", 6, "ja", 7]
print "demonimekiri = ",demonimekiri
demonimekiri.append("koik")
print "peale 'koik' lisamist on demonimekiri:"
print demonimekiri
print "len(demonimekiri) =", len(demonimekiri) # demonimekirja liikmete arv
print "demonimekiri.index(42) =", demonimekiri.index(42) # numbri 42 positsioon nimekirjas
print "demonimekiri[1] =", demonimekiri[1]

# tsükkel läbi nimekirja
c = 0
while c < len(demonimekiri): # kuni c on väiksem kui nimekirja pikkus     print "demonimekiri[", c, "] =", demonimekiri[c]     c = c + 1 del demonimekiri[2] print "peale 'universumi' eemaldamist demonimekirjast:" print demonimekiri if "elu" in demonimekiri: # kui "elu" on nimekirjas     print "'elu' leiti demonimekirjast" else:     print "'elu' ei leitud demonimekirjast" if "amoeba" in demonimekiri:     print "'amoeba' leiti demonimekirjast" if "amoeba" not in demonimekiri:     print "'amoeba' ei leitud demonimekirjast" demonimekiri.sort() print "Peale sorteerimist:", demonimekiri

#!/usr/bin/python
# -*- coding: utf-8 -*-

Inimeste nimekiri:

inimesed = ["Mati"]
sisend = "dffd";

while sisend!= "" :
sisend = raw_input("Anna nimi:")
inimesed.append(sisend)

inimesed.sort()

print inimesed

Vaatame veel veidi for tsüklit ja teksti vormistamist väljastamisel:

for x in range(1, 11):
   print repr(x).rjust(3), repr(x*x).rjust(4),
   # tähelepanu: eelmise rea lõpus oli koma
   print repr(x*x*x).rjust(4)

Või:
for x in range(1,11):
   print '{0:2d} {1:3d} {2:4d}'.format(x, x*x, x*x*x)

Tabel koos nimekirjaga:

table = {'Sass': 4127, 'Jaak': 4098, 'Tom': 8637678}
print 'Jaak: {Jaak:d}; Sass: {Sass:d}; Tom: {Tom:d}'.format(**table)
Jaak: 4098; Sass: 4127; Tom: 8637678

Faili avamine kirjutamiseks ja kirjutamine faili:

f = open('salvestus', 'w')
print f
f.write(tekst)
f.close()

Rubriigid: Uncategorized | Lisa kommentaar

Neljas tund

Funktsioonid ja if / elif:

#!/usr/bin/python
# -*- coding: utf-8 -*-

# kalkulaatori programm

# Siin defineerime funktsioonid
def menu():
   #väljasta mis võimalused sul on
   print "Teretulemast kalkulaator.py"
   print "sul on võimalused:"
   print " "
   print "1) Liitmine"
   print "2) Lahutamine"
   print "3) Korrutamine"
   print "4) Jagamine"
   print "5) Välju kalkulaator.py"
   print " "
   return input ("Vali oma soov: ")

# liidab numbrid
def add(a,b):
   print a, "+", b, "=", a + b

# lahutab teisest numbrist esimese
def sub(a,b):
   print b, "-", a, "=", b - a

# korrutaja
def mul(a,b):
   print a, "*", b, "=", a * b

# jagab esimese teisega
def div(a,b):
   print a, "/", b, "=", a / b

# PROGRAMM ALUSTAB SIIT :)
silmus = 1
valik = 0
while silmus == 1:
   valik = menu()
   if valik == 1:
      add(input("Liida see: "),input(" sellele: "))
   elif valik == 2:
      sub(input("Lahuta see: "),input(" sellest: "))
   elif valik == 3:
      mul(input("Korruta see: "),input(" sellega: "))
   elif valik == 4:
      div(input("Jaga see: "),input(" sellega: "))
   elif valik == 5:
      silmus = 0

print "Aitäh, et kasutasid kalkulaator.py!"

# SIIN PROGRAMM LÕPETAB

Rubriigid: Uncategorized | Lisa kommentaar

Kolmas tund

Alustuseks paneme programmi midagi kasutajalt lugema:

#!/usr/bin/python
# -*- coding: utf-8 -*-

print "Seis!"
kasutaja_vastus = raw_input("Kes seal käib?") # tekstipõhise muutuja küsimine klaviatuurilt
print "Võid teed jätkata,", kasutaja_vastus

Kaks esimest trellitatud rida on infoks Pythoni programmi arvutikoodiks teisendavale programmile – interpretaatorile. Esimene neist lubab programmi joosta otse Linuxi käsurealt. Teine määrab ära kooditabeli, mille alusel märke kuvatakse-kasutatakse. See võimaldab täpitähtede tarvitamist, mida originaalses märkide kooditabelis polnud. Lisaks peaks salvestatud faili (laiendiga .py) määrama käivitatavaks:
chmod +x failinimi.py
./failinimi

Käivitatava faili nimi ei pea lõppema .py laiendiga kui faili alguses on # taga öeldud, et tegu on Pythoni failiga (#!/usr/bin/python).

Farenheiti Celsiuse kraadideks teisendaja:
#!/usr/bin/python
# -*- coding: utf-8 -*-
# arvutab Fahrenheiti kraadid Celsiuse kraadideks ümber
def far() : # siin luuakse uus funktsioon def, järgneb selle sisu
   temp = input("Temperatuur Fahrenheiti järgi: ")
   print (temp - 32.0) * 5.0 / 9.0
#siin lõppes funktsioon ja hakkab programm ise
far()

Liidab numbreid kuni sisestatakse null:
#!/usr/bin/python
# -*- coding: utf-8 -*-
a = 1
s = 0
print 'Sisesta number, mida liita:'
print 'Sisesta 0 et väljuda.'
while a != 0:
   print 'Praegu summa:', s
   a = input('Number? ')
   s = s + a
print 'Kokku summa =', s

“Parooli” küsimine:
#!/usr/bin/python
# -*- coding: utf-8 -*-
salakood = "kala"
parool = "pole parooli"
# != tähendab "ei võrdu"
while parool != salakood:
   parool = raw_input("Parool:>")
   if parool != salakood :
      print "Valesti läks, proovi uuesti!"
   else :
      print "Ohoo!"
print "Tere tulemast!"

Rubriigid: Uncategorized | Lisa kommentaar

Teine ringitund

Teises tunnis vaatasime veel korra ruuterit, rääkisin portidest ja sellest kuidas need IP-aadressidega seonduvad. Igal veebiteenusel on oma port, näiteks veebilehed on tavaliselt pordi 80 taga, aga saab seadistada neid ka mujale minema. Siis tuleb küll kasutajal :pordinumber aadressile lisada. Ruuterites saab porte ka suunata! See võimaldab koduarvutist veebiteenust väljapoole pakkuda. Oleneb kas vabad pordid on teenusepakkuja (Elion, Starman ja teised) poolt lubatud. Miinuseks on ka see, et koduühenduste IP aadressid muutuvad mõne aja tagant. Siis võib aidata DynDNS, mis teeb viite koju ja uuendab seda aadressi muutudes.

Kasutasime sel korral Ubuntu LiveCD’sid, milles on lisatud Pythoni ja üldisemalt programmeerimiseks vajalikud programmid – Filezilla ja Putty ka. Täitsa kenasti töötavad kooli 1GB mäluga vanemates arvutites.

Alustasime Pyhthoniga.

Esmalt Pythoni konsool, teksi väljastamine ja arvutamine Pythoni konsoolil:

# – märgiga hakkab kommentaar, mida arvuti ei arvesta – see on hea meelde tuletuseks programmeerijale, et mida miski teeb.

Näiteks (Pythoni konsoolile kirjutatav algab märkidega >>> ):
>>>print "Tere maailm!" # lihtne teksti näitamine
"Tere maailm!"
>>> 1 + 1 #liitmine
2
>>> 20+80
100
>>> 18294+449566
467860
>>> 6-5
1
>>> 2*5
10
>>> 5**2 # astmesse võtmine, viis ruudus ehk teises astmes, 5 korda 5
25

Pärast vaatasime Eric Pythoni tekstikirjutajaga tsükleid:

a = 0 # a võrdub nulliga
while a < 10: # kuni a on väiksem kui kümme teeme ...    a = a + 1 # liidame a'le ühe numbri juurde    print a # kirjutame a välja

Lihtsad If laused:


y = 1
if y == 1:
   print "y on võrdne 1, lihtsalt kontroll"

print "Paarisarvud kuni 20'neni"
n = 1
while n <= 20:    if n % 2 == 0:       print n    n = n + 1 print "valmis!"

Juhin tähelepanu ridade algustele, Pythonis peab järgmise taseme tegevus olema veidi tagapool.

Rubriigid: Uncategorized | Lisa kommentaar

Pythoni huviringi blogi

Tere!

Alustasime siis huviringiga 16. septembril.

Vaatasime esimesel korral SSH klienti Putty ja FTP klienti Filezilla. Tegime kontod ja panime üles WordPressi blogimootorid. Uurisime käske Tracert (Traceroute), Ping ning Ipconfig (Ifconfig).

Rubriigid: Uncategorized | Lisa kommentaar