TILDA, Pythonexempel

Datatyper, kommentarer, utskrift, strängar (indexering, metoder), listor, if-satsen, operatorer, while-slingan, for-slingan, funktioner, parametrar, returvärden

  1. Inmatning, utskrift
    #Hello world
    namn = raw_input("Vad heter du? ")
    print "Hej", namn
    
    Vad heter du? Severus
    Hej Severus
    

  2. Läsa tal, if-else-sats, villkor, teckenkodningskommentar
    # -*- coding: UTF-8 -*-
    # Maxberäkning 1
    
    tal1 = input("Ge första talet: ")
    tal2 = input("Ge andra talet: ")
    
    if tal1 > tal2:
    	print tal1, "är störst!"
    else:
    	print tal2, "är störst!"
    
    Ge första talet: 765234
    Ge andra talet: 2384566
    2384566 är störst!
    

  3. While-slinga, typkonvertering sträng -> heltal
    # -*- coding: iso8859-1 -*-
    #Maxberäkning 2
    
    max = input("Ge första talet: ")
    svar = raw_input("Ge ett tal till (avsluta med Enter): ")
    while svar != "":
    	tal = int(svar)
    	if tal > max:
    		max = tal
    	svar = raw_input("Ge ett tal till (avsluta med Enter):  ")
    print "Störst var", max
    
    Ge första talet: 77
    Ge ett tal till (avsluta med Enter): 34
    Ge ett tal till (avsluta med Enter): 78
    Ge ett tal till (avsluta med Enter): 34
    Ge ett tal till (avsluta med Enter): 12
    Ge ett tal till (avsluta med Enter): 35
    Ge ett tal till (avsluta med Enter):  
    Störst var 78
    

  4. Aritmetik, typkonvertering heltal -> flyttal
    #Medel av tre tal
    
    tal1 = input("Ge första talet: ")
    tal2 = input("Ge andra talet: ")
    tal3 = input("Ge tredje talet: ")
    summa = tal1 + tal2 + tal3
    antal = 3
    medel = float(summa)/antal
    
    print "Medelvärdet blev:", medel
    
    Ge första talet: 3
    Ge andra talet: 4
    Ge tredje talet: 4
    Medelvärdet blev: 3.66666666667
    

  5. Importera modul, slumptal
    #Talgissning
    
    import random
    
    svaret = random.randint(1,10)
    gissning = input("Gissa ett tal mellan ett och tio: ")
    while gissning != svaret:
        gissning = input("Fel, försök igen: ")
    print "Rätt gissat!"
    
    Gissa ett tal mellan ett och tio: 5
    Fel, försök igen: 3
    Fel, försök igen: 2
    Fel, försök igen: 1
    Fel, försök igen: 6
    Fel, försök igen: 7
    Fel, försök igen: 8
    Rätt gissat!
    
    

  6. Lista, slumpa ur lista, sammansatt villkor
    #Ordgissning: Slumpar ett ord, räknar antal gissningar
    
    import random
    
    instrument = ["fiol","flöjt","fagott"]
    svaret = random.choice(instrument)
    gissning = raw_input("Fem gissningar: Vilket instrument tänker jag på? ")
    antal = 1
    
    while gissning != svaret and antal < 5:
    	gissning = raw_input("Fel, försök igen: ")
    	antal = antal+1
    
    if antal <= 5:
    	print "Strålande, du klarade det på bara", antal, "försök!"
    else:
    	print "Tyvärr - du lyckades inte gissa på fem försök."
    
    
    Fem gissningar: Vilket instrument tänker jag på? piano
    Fel, försök igen: fiol
    Fel, försök igen: fagott
    Fel, försök igen: flöjt
    Strålande, du klarade det på bara 4 försök!
    

  7. Strängar, indexering, slicing, funktionen len, operatorn in, operatorn + för strängkonkatenering
    #Flicknamn: Läser in namnet, 
    #tar bort sista bokstaven om det är en vokal,
    #de två sista bokstäverna annars, 
    #lägger slutligen till "elle" på slutet.
    
    namn = raw_input("Vad heter du? ")
    n = len(namn)
    print "Ditt namn har", n, "bokstäver."
    sista = namn[n-1]
    if sista in "aeiouyåäö":
        namn = namn[:-1]
    else:
        namn = namn[:-2]
    flicknamn = namn + "elle"
    print "Ditt flicknamn är", flicknamn
    
    Vad heter du? Daniel
    Ditt namn har 6 bokstäver.
    Ditt flicknamn är Danielle
    

  8. Strängmetoder, listor, for-slingor
    # Gör om till Yoda-språk:
    # "You have much to learn." -> "Much to learn, you have."
    
    mening = raw_input("Sentence: ")
    n = len(mening)
    slut = mening[n-1]
    mening = mening[:-1]
    lista = mening.split()
    
    print lista[2].capitalize(),
    for ordet in lista[3:]:
        print ordet.lower(),
    print ",",
    for ordet in lista[0:2]:
        print ordet.lower(),
    print slut
    
    Sentence: You have much to learn.
    Much to learn , you have .
    

  9. Funktioner, parametrar, returvärden, softspace
    # Yoda med funktioner
    
    import sys
    
    def orden(mening):
        n = len(mening)
        slut = mening[n-1]
        mening = mening[:-1]
        lista = mening.split()
        return lista, slut
    
    def nyOrdning(lista, slut):
        print lista[2].capitalize(),
        for ordet in lista[3:]:
            print ordet.lower(),
        sys.stdout.softspace = 0
        print ",",
        for ordet in lista[0:2]:
            print ordet.lower(),
        sys.stdout.softspace = 0
        print slut
    
    mening = raw_input("Sentence: ")
    lista, skiljetecken = orden(mening)
    nyOrdning(lista, skiljetecken)
    
    Sentence: You have much to learn.
    Much to learn, you have.
    

  10. Listmetoden append(), referenser
    #Demonstrerar kopiering av en lista
    def kopiera(listan):
        kopia = []
        for element in listan:
            kopia.append(element)
        return kopia
    
    listan = [1,2,4,7,16]
    kopiaA = listan
    kopiaB = kopiera(listan)
    
    print "-------------------------"
    print 'listan =', listan
    print 'kopiaA =', kopiaA
    print 'kopiaB =', kopiaB
    
    kopiaA[3] = 8
    kopiaB[4] = 17
    
    print "-------------------------"
    print 'listan =', listan
    print 'kopiaA =', kopiaA
    print 'kopiaB =', kopiaB
    
    -------------------------
    listan = [1, 2, 4, 7, 16]
    kopiaA = [1, 2, 4, 7, 16]
    kopiaB = [1, 2, 4, 7, 16]
    -------------------------
    listan = [1, 2, 4, 8, 16]
    kopiaA = [1, 2, 4, 8, 16]
    kopiaB = [1, 2, 4, 7, 17]