Filer, dokument och TextWrangler Dept. of Computer Science Umeå University jem@cs.umu.se Vad är en fil? Lagra information Använda senare All information sparas som ett mönster av ettor och nollor Tolkningen av mönstret är upp till programmet 0 1 1 0 1 0 0 1 1 1 0 1 0 1 0 1 Hej, Jag skulle vilja ansöka om uppskov för att lämna in min labrapport för lab 1. Just som jag skulle skriva ut rapporten så slog åskan ner i min TV, Kalle (min katt) blev så rätt att han flög upp från soffan och hoppade över vid skrivbord. Tyvärr så kom hans svans åt lampan som föll ner över min favoritblomma - sorgligt nog så var den nyvattnad och en del av vattnet rann ut över min laptop som började ryka och nu fungerar det inte längre. Är det möjligt att få en veckas uppskov?? 1 1 0 0 0 0 1 0 1 1 1 1 0 1 0 1 Gruppering av ettorna och nollorna För att göra det enklare så grupperas mönstret i grupper om (typiskt) 8, 16, 32 eller 64. Hej, Jag skulle vilja ansöka om uppskov för att lämna in min labrapport för lab 1. Just som jag skulle skriva ut rapporten så slog åskan ner i min TV, Kalle (min katt) blev så rätt att han flög upp från soffan och hoppade över vid skrivbord. Tyvärr så kom hans svans åt lampan som föll ner över min favoritblomma - sorgligt nog så var den nyvattnad och en del av vattnet rann ut över min laptop som började ryka och nu fungerar det inte längre. Är det möjligt att få en veckas uppskov?? 0 1 1 0 1 0 0 1 1 1 0 1 0 1 0 1 H e j, \n \n J a g s k u l l e
Lagring på disk Organisation Visa upp informationen?
Showtime Olika typer av filer Bitmönster Filtyper Tolkningsfråga Word-dokument Showtime
Att skriva pythonkod Omständigt Går inte att redigera tidigare skriven kod Går inte att spara kod som du skriver Ordbehandlare IDE TextWrangler Flera olika sätt att lösa detta på Texteditor TextWrangler Texteditor Stöd för många språk, bla Python Exekvera kod direkt Showtime
Regler "Hello world" 'Hello world' '4'jämfört med 4 worldmsg = "Hello world" worldmsg = "Hello" + "world" Regler def enmetod( parametrar ): instruktiona if någonting : instruktionb else: instruktionc instruktiond instruktione instruktionf Regler def enmetoda( length ): enmetoda( 5.23 ) enmetoda( cubelength ) def enmetodb( length, width ): enmetodb( 5.23, 4.3 ) enmetodb( clen, cwidth )
def secretmethoda( p1 ): return p1 * 7.30 def secretmethodb( p2 ): if p2 > 10: return secretmethoda( p2 ) else: return p2 * 12.80 secretvalue = 12 print secretmethodb( 12 ) Övningsuppgifter för alla ihop Konstruera ett program som givet en radie skriver ut volymen på en sfär, ytan och omkretsen av en cirkel Konstruera ett program som givet ett mått räknar ut skillnaden i yta mellan en kvadrat och en inskriven cirkel Konstruera ett program som givet ett mått räknar ut skillnaden i volym mellan en kub och en sfär (som precis ryms i kuben) Konstruera ett program som räknar ut volymen på en kub, samt omkretsen och arean på motsvarande kvadrat Filhantering Läsa och spara information Sökväg
Läsa en fil Steg för steg Öppna filen Läs information Läs alltihop på en gång Läs rad efter rad Stäng filen Python Öppna fil: myfile = open( filepath ) Stänga fil: myfile.close() Läsa fil alltihopa: myfile.read() en rad: myfile.readline() alla rader: myfile.readlines() Exempel
Skriva till filer Samma princip Öppna (och skapa) en fil Skriv informationen Stäng filen Python Öppna filen: myfile = open( somefilename, w ) Skriv till filen: myfile.write( blabla bla bla ) Stäng filen: myfile.close() Exempel
Uppgift att lösa tillsammans indata.txt 456 521 rektangelinfo.txt Information om rektangeln: omkrets = 1954 ytan = 237576 Ny uppgift 119.56 290.21 11.63 139.57 279.46 338.8 46.86 8.82 147.73 262.68 296.03 264.93 9.71... sumvalues.txt numinfo.txt Information om talen: max = min = medel = Pseudokod Så länge som det är något kvar i filen: läs in nytt värde om det är det minsta talet hittills: sätt detta tal som det minsta om det är det största talet hittills: sätt detta tal som det största addera till totalsumman räkna upp antalet tal
Loopar Upprepar något Kan göras på lite olika sätt beroende på omständigheterna variant 1 - while variant 2 - for while while => Upprepa så länge som något villkor har uppfyllts value = 2.3 while value < 100: value = value * 1.67 print value value = 2.3 while value < 100: value = value * 1.67 print value 3.841 6.41447 10.7121649 17.889315383 29.8751566896 49.8915116716 83.3188244917 139.142436901 Lös nu problemet 119.56 290.21 11.63 139.57 279.46 338.8 46.86 8.82 147.73 262.68 296.03 264.93 9.71... sumvalues.txt numinfo.txt Information om talen: max = 346.79 min = 0.18 medel = 170.0