Presentation laddar. Vänta.

Presentation laddar. Vänta.

Föreläsning 5 Python: argument från kommando-tolken

Liknande presentationer


En presentation över ämnet: "Föreläsning 5 Python: argument från kommando-tolken"— Presentationens avskrift:

1 Föreläsning 5 Python: argument från kommando-tolken
Datalogi för E1 Föreläsning 5 Python: argument från kommando-tolken , inläsning av fil, listor och + operatorn, linjärsökning, binärsökning KTH, Nada, Vahid Mosavat

2 Datalogi för E1 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 * KTH, Nada, Vahid Mosavat

3 Datalogi för E1 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 KTH, Nada, Vahid Mosavat

4 Exempel fil = open(”namnlista.txt”) namnlista = fil.readlines()
Datalogi för E1 Exempel fil = open(”namnlista.txt”) namnlista = fil.readlines() KTH, Nada, Vahid Mosavat

5 Exempel fil = open(”namnlista.txt”) namn = fil.readline()
Datalogi för E1 Exempel fil = open(”namnlista.txt”) namn = fil.readline() namnlista = [] while namn!=”” : namnlista = namnlista + [namn] KTH, Nada, Vahid Mosavat

6 Argument från kommando-tolken
Datalogi för E1 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… KTH, Nada, Vahid Mosavat

7 Exempel # -*- coding: latin-1 -*- # -*- coding: latin-1 -*- import sys
Datalogi för E1 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 KTH, Nada, Vahid Mosavat

8 Datalogi för E1 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 KTH, Nada, Vahid Mosavat

9 Datalogi för E1 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. KTH, Nada, Vahid Mosavat

10 Datalogi för E1 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] KTH, Nada, Vahid Mosavat

11 Datalogi för E1 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 KTH, Nada, Vahid Mosavat

12 Datalogi för E1 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. KTH, Nada, Vahid Mosavat


Ladda ner ppt "Föreläsning 5 Python: argument från kommando-tolken"

Liknande presentationer


Google-annonser