Presentation laddar. Vänta.

Presentation laddar. Vänta.

1 Föreläsning 5 Python: argument från kommando-tolken, inläsning av fil, listor och + operatorn, linjärsökning, binärsökning.

Liknande presentationer


En presentation över ämnet: "1 Föreläsning 5 Python: argument från kommando-tolken, inläsning av fil, listor och + operatorn, linjärsökning, binärsökning."— Presentationens avskrift:

1 1 Föreläsning 5 Python: argument från kommando-tolken, inläsning av fil, listor och + operatorn, linjärsökning, binärsökning

2 2 reload() reload() är en inbyggd funktion som används till att uppdatera en funktion som har importerats tidigare: import mymath … reload(mymath) reload funkar inte med importering i f ö ljande form: from mymath import *

3 3 Läsa och skriva på fil Man kan hämta indata från fil eller skriva utdata på en fil, detta är möjligt med funktionerna: open(”fil.txt”) öppnar fil.txt för läsning open(”fil.txt”,”w”) öppnar filen fil.txt för skrivning open(”fil.txt”,”a”) öppnar filen fil.txt för att lägga till. readline() läser en rad och returnerar raden som en sträng readlines() läser alla rader och returnerar en lista som varje element i listan är en rad från filen. write(”en sträng”) skriver texten ”en sträng” på filen

4 4 Exempel fil = open(”namnlista.txt”) namnlista = fil.readlines()

5 5 Exempel fil = open(”namnlista.txt”) namn = fil.readline() namnlista = [] while namn!=”” : namnlista = namnlista + [namn] namn = fil.readline()

6 6 Argument från kommando-tolken Man kan få in strängar från kommando- tolken på terminalen in till programmet genom att använda fördefinierade listan sys.argv. datorn~> python prg.py arg1 arg2…

7 7 Exempel # -*- coding: latin-1 -*- import sys print ”du startade det här programmet med”,\ len(sys.argv)-1,”argumenter” # -*- coding: latin-1 -*- import sys print ”följande är en lista av argumenter:” for arg in sys.argv: print arg

8 8 Linjärsökning Linjärsökning : Linjärsökning eller sekventiell sökning kallas när man söker element för element från första elementet i listan. soktal = 8 lista = [1,3,6,4,2,7,9,8,0] for element in lista : if element == soktal : print soktal,”finns i listan” break

9 9 Binärsökning Om man har en sorterad lista kan man använda binärsökning som är snabbare än linjärsökning istället: Binär sökning går på det viset att man börjar söka från mitten av listan. Om den man söker är mindre än elementet i mitten då ska man söka i vänstra delen av listan, annars ska man söka i högra delen av listan.

10 10 Exempel Skriv ett program som med hjälp av binärsökning hittar index för talet 8 i listan nedan, ditt program ska fungera med vilken lista som helst bara listan är sorterad och innehåller tal. lista = [1,3,4,6,7,8,18,100]

11 11 Exempel Vi har en fil i varannan rad står ett namn och i raden efter namnet står skonummer för alla personer, skriv ett program som skriver namn för alla som har skonummer 43. Observera filen är inte sorterad

12 12 Exempel Skriv ett program som läser alla namn till en lista och skriver ut alla namn som börjar med ’j’ och har ett ’a’ i namnet.


Ladda ner ppt "1 Föreläsning 5 Python: argument från kommando-tolken, inläsning av fil, listor och + operatorn, linjärsökning, binärsökning."

Liknande presentationer


Google-annonser