Skip to content

Instantly share code, notes, and snippets.

@Vedrana
Created December 15, 2012 00:41
Show Gist options
  • Save Vedrana/4290032 to your computer and use it in GitHub Desktop.
Save Vedrana/4290032 to your computer and use it in GitHub Desktop.
Intro to Python for PyLadies in Zagreb workshop (Dec 14, 15 2012)

Intro to Python

Kalkulator

2 + 2
2.5 + 2
3 - 1
2.8 - 3
2 * 3

Dijeljenje?!

3 / 2
3.0 / 2

Tip podatka

type(1)
type(1.0)

Varijabla

  • pridjeljivanje vrijednosti, "spremanje za kasnije"
  • ime varijable: bez praznina i specijalnih znakova, mora započeti slovom
  • konzistencija u načinu imenovanja: moja_varijabla, mojaVarijabla
a = 2
print a
# How many attendees per mentor?
number_of_attendees = 56
number_of_mentors = 10
attendees_per_mentor = number_of_attendees / number_of_mentors
print attendees_per_mentor

Stringovi

"ovo je string!"
'i ovo je string! :D'

hello = "Hello "
name = "Vedrana"
personalized_hello = hello + name

print personalized_hello

Pazi!

print "čoko" + "lino"
print "jedan " + 1
print "jedan" + str(1)

Duljina stringa

print len("PyLadies")

Navodnici

print 'I'm a happy camper'
print "I'm a happy camper"
print 'I\'m a happy camper'

Množenje stringova?

print "A" * 40
print "ABC" * 12
a = "Python je "
b = "totalno kul! "
print (a + b) * 10

Boolean

True
type(True)
False
type(False)

(Ne)jednakost

2 == 2
3 < 5
10 > 12
"a" != "b"

Pazi!

a = 2
b = 3
a == b
a = b

Sadržavanje

name = "vedrana"
"v" in name
"x" not in name

Donošenje odluka

if 1 < 2:
  print "Jedan je manji od dva"

Blok naredbi

  • naredbe s istim brojem praznih znakova na početku retka
a = 1
b = 2
if a < b:
    print "a je manje od b"
    print "Ova naredba je u istom bloku naredbi"
    print "Izvest ce se sve tri"
elif a == b:
    print "a je jednako b"
else:
    print "a je vece od b"
ana_voli_cokoladu = True
marko_voli_cokoladu = False

if ana_voli_cokoladu and marko_voli_cokoladu:
    print "Oboje vole cokoladu"
elif ana_voli_cokoladu or marko_voli_cokoladu:
    print "Barem jedan od njih voli cokoladu"
else:
    print "Nitko ne voli cokoladu :("

Funkcije

def add(x, y):
    result = x + y
    return result
  • enkapsuliraju koristan dio posla...
  • ... koji se onda može korisitit više puta
  • kao u matematici: na temelju nekog ulaza, funkcija vraća neki rezultat
  • def ime_funkcije(parametar_1, parametar_2)

Ključna riječ return

def absoluteValue(number):
    if number < 0:
        return number * -1
    return number
    
def absoluteValue(number):
    if number < 0:
        return number * -1
    else:
        return number
        
def noReturn(neki_tekst):
    print "Ova funkcija samo ce ispisati predani argument, nece vratiti nista"
    print neki_tekst
    
noReturn("bla bla")    
a = noReturn("la la la")
print a

Liste

my_list = []
my_list

my_list = ["a", "b", "c", 1, 2, 3]
my_list

my_list[0]
print my_list[2]

my_list[2] = "vise nije c"
print my_list[2]

my_list.append("jos jedan element")
my_list.append("4")
my_list.append("4")

my_list[0]
my_list.insert(0, "prije_a")
print my_list

4 in my_list

if "a" in my_list:
    print "a je u listi"
else:
    print "a nije u listi"
    
my_list[0:2]
my_list[1:4]
my_list[:3]
my_list[2:]
names = ["Zeljko", "Mirjana", "Ruzica", "Vatroslav", "Eugen", "Ana"]
names.sort()

print names

Još malo stringova

my_string = "PyLadies"
my_string[1]
my_string[0:2]
my_string[1:4]
my_string[:3]
my_string[2:]

# ALI!
my_string[1] = "x"

Rječnik

  • ključ - vrijednost
  • redoslijed nije bitan
  • jedinstveni ključevi
my_dict = {}
# my_dict = dict()

type(my_dict)

my_dict["Ana"] = "cokolada"
my_dict["Vedrana"] = "pohane tikvice"
my_dict["Ivan"] = "oslic"

my_dict
my_dict["Vedrana"]
print "Vedrana najvise na svijetu voli jesti " + my_dict["Vedrana"]
cijena = {}
cijena["kava"] = 10
cijena["croissant"] = 3

cijena["kava"]
cijena.get("kava")

print "Za kavu cete morati platiti " + str(cijena["kava"]) + " kuna"
cijena["kava"] = 15
print "Za kavu cete morati platiti " + str(cijena["kava"]) + " kuna"

print "Za croissant cete morati platiti " + str(cijena["croissant"]) + " kune"

del cijena["kava"]
cijena

Petlje

people = ["Jerry", "Newman"]
for person in people:
    print "Hello " + person + "!"


movies_to_see = ["The Shawshank Redemption (1994)",
"The Godfather (1972)",
"The Godfather: Part II (1974)",
"Pulp Fiction (1994)",
"The Good, the Bad and the Ugly (1966)",
"12 Angry Men (1957)",
"The Dark Knight (2008)",
"Schindler's List (1993)",
"The Lord of the Rings: The Return of the King (2003)",
"Fight Club (1999)"]

print movies_to_see

for movie in movies_to_see:
    print movie
    
for movie in movies_to_see:
    print "You should really see " + movie

br = 1
print "10 najboljih filmova prema Imdb-u:"
for movie in movies_to_see:
    print str(br) + ". mjesto: " + movie
    br = br + 1
i = 0
while i < 10:
    print i
    i = i + 1
    
i = 0
while True:
    print i
    i = i + 1
    if i > 10:
        break  
a = raw_input("Unesi neki tekst: ")
print a
while True:
    input = raw_input("Please type something> ")
    if input == "Exit":
        print "Goodbye!"
        break
    else:
        print "You said: " + input
# koliko puta se slovo "f" pojavljuje u stringu
def countFs(phrase):
  number_of_fs = 0
  for letter in phrase.lower():
    if letter ==  "f":
      number_of_fs = number_of_fs + 1
  return number_of_fs

Grand finale

def average_grade(grades):
    sum = 0.0
    for grade in grades:
        sum += grade
    avg = sum / len(grades)
    return avg

# print average_grade([1, 2, 3, 4, 5])

sandwiches = ["mozzarella", "prsut", "kulen", "tuna", "puretina"]
grades = {}

# collect grades
while True:
    person = raw_input("Enter your name: ")
    if person == "Exit":
        print "Enough!"
        break

    print "Hi, " + person + ", please rate our sandwiches."

    grades[person] = {}
    for sandwich in sandwiches:
        grade = int(raw_input(sandwich + ": "))
        grades[person][sandwich] = grade


# average grades per person
for person in grades.keys():
    persons_grades = grades[person].values()
    avg = average_grade(persons_grades)
    print person + " gave an average grade of " + str(avg)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment