TDP002 - Imperativ programmering

Relevanta dokument
TDP002 - Imperativ programmering

TDP002 - Imperativ programmering

Chapter 3: Using Classes and Objects

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.

Lektion 1, del b Utskrifter av variabelvärden Inläsning av värden till variabler

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.

Repetition av filer Grundkurs i programmering med Python

Inledande programmering med C# (1DV402) 27+15=42 1 (22)

TDIU01 (725G67) - Programmering i C++, grundkurs

Tentaupplägg denna gång

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen

Enklast att skriva variabelnamn utan ; innehåll och variabelnamn skrivs ut

TDP002 - Imperativ programmering

729G04 Programmering och diskret matematik. Föreläsning 7

Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt

Text och strängindexerade fält Grundkurs i programmering med Python

Introduktion till programmering. Standardfunktioner. Vad används datorer till? Standardfunktioner. Föreläsning 2. Prelude. $ ghci...

Installationsanvisning för PI-Utbildningar

Föreläsning 4: Poster

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen

Emacs. Eric Elfving Institutionen för Datavetenskap (IDA)

Föreläsning 3.1: Datastrukturer, en översikt

NyA-webben Nyheter och planerad vidareutveckling

Introduktion till programmering SMD180. Föreläsning 2: Variabler, uttryck och satser

Excelfiler läggs till i ArcMap på samma sätt som annan data, genom Lägg till Dataknappen.

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

Emacs. Eric Elfving Institutionen för datavetenskap (IDA) 22 augusti 2016

PNSPO! Exporterar och Importerar texter från CX- Designer. 20 mars 2012 OMRON Corporation

Tentamen i Programmering grundkurs och Programmering C

E-post för nybörjare

Dragningssystemet. Filbeskrivning för osigillerad resultatfil från premieobligationsdragning. Version 1.2

Tentaupplägg denna gång

Föreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det?

Översikt 732G11 PROGRAMMERING 1. Personal. Kursens mål. Litteratur. Kursens innehåll

Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet

5 Grundläggande in- och utmatning

Lathund för överföring av rapporter och ljudfiler

Användarmanual HOIF.org

Filer. DA2001 (Föreläsning 16) Datalogi 1 Hösten / 19

Datorlära 3 Octave Workspace ovh mijlö Skriva text på skärmen Värdesiffror Variabler och typer Strängar Makro Vektorer

Tentamen, EDAA20/EDA501 Programmering

SMD 134 Objektorienterad programmering

kl Tentaupplägg

Användarinstruktioner för FLC Fresenius Learning Center

eller Övningar i filhantering Tema: Mappar och filer i Windows samt Lagringsenheterna OBS! Endast för medlemmar i SeniorNet, Klubb Södertälje!

Arbeta effektivare med OS X

TDIU01 - Programmering i C++, grundkurs

Google Apps For Education

Att använda pekare i. C-kod

ANVISNINGAR. Sjundeå e-postsystem. Del 1: inställningar. Version 1.0

Sammanfattning. Listor. List-manipulering. Matris. /home/lindahlm/activity-phd/teaching/11dd1310/exercise3/exercise3.py September 13, 20111

Björn Abelli Programmeringens grunder med exempel i C#

Objektorienterad programmering D2

För att skriva data till skärmen ( konsolen) används objektet System.out tillsammans med metoden println eller print.

Föreläsning 1 & 2 INTRODUKTION

IntoWords webb elevdata.se

E-POST3 Ett lättanvänt e-postprogram med stöd för talsyntes

Tentamen i. för D1 m fl, även distanskursen. fredag 13 januari 2012

Extra övningar på SDD:er/SDT:er

Hantera informationspaket i system för bevarande

Programmeringsuppgifter 1

Lösningar till uppgifterna sätts ut på kurssidan på nätet idag kl Omtentamen i Programmering C, 5p, A1, D1, E1, Fri, Pr1, Te/Ek1,

Tentamen OOP

Excelfiler läggs till i ArcMap på samma sätt som annan data, genom Lägg till Data-knappen.

Introduktion till integrering av Schenkers e-tjänster. Version 2.0

Användarmanual för Hemsida

Lösningar till tentauppgifterna sätts ut på kurssidan på nätet idag kl 19. Omtentamen i Programmering C, 5p, fristående, kväll,

Lösenordhantering i Device Config.

KOMMUNLEDNINGSKONTORET / IT-AVDELNINGEN. Office 365. Lathund

Övning 1. Abstrakta datatyper. 1. Stacken. class Stack: """A representation of a last-in-first-out (LIFO) stack of objects."""

Malmö Släktforskarförening. April 2016 Torgny Larsson

Språket Python - Del 2 Grundkurs i programmering med Python

Matriks Doc 3 Skapa brevmall. Navision / Microsoft Dynamics NAV. Hur du skapar en brevmall i Word för Matriks Doc som kan användas via kundkortet.

Fritextsökning på studera.nu

Uppgift (poäng) 1 (2) 2 (3) 3 (4) 4 (4) 5 (3) 6 (4) 7 (6) 8 (6) 9 (8) Summa

Textsträngar från/till skärm eller fil

Python vecka 41-42: Individuell programmering

Programmering A C# VT Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson

F5 Introduktion till digitalteknik

Tecken. char. char ch = A ; sizeof(char) = 1 byte (ej 16-bitars tecken som i Java) char namn[]= "Nils"; // längd = 5 bytes

Grundläggande programmering med C# 7,5 högskolepoäng

Laborationer i kursmomentet Datoranvändning E1. Laboration nr 5: Mer om FrameMaker

Ordlistor, filhantering och ut på webben. Linda Mannila

Datalogi, grundkurs 1

Uppgift 1 ( Betyg 3 uppgift )

Föreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk

Strängar. TDDD64 Programmering i Python Föreläsning 4. Peter Dalenius Institutionen för datavetenskap

TDIU01 - Programmering i C++, grundkurs

Digital Termometer J10 B4 A4 GND GND GND B1 GND GND GND GND B3 A3 +5V +5V A3 +5V A2 +5V +5V A2. +5v B16 A16 UREG UREG B1 6 AC AC A1 6 A6 6

Objektorienterad Programmering (TDDC77)

Uppgifter teknik HT17 (uppdaterad v. 40)

Objektorienterad Programmering (TDDC77)

TDP002 - Imperativ programmering

Uppgift 1 (Oläsliga krypterade meddelanden)

HF0010. Introduktionskurs i datateknik 1,5 hp

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

Omtenta, Programmeringsteknisk översiktskurs, VT06

I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program

Microsoft Publisher. Laborationskompendium för digital behandling av publikationer. Detta exemplar tillhör:

Transkript:

. TDP002 - Imperativ programmering Strängar och IO Eric Elfving Institutionen för datavetenskap 26 augusti 2015

Översikt 2/18 Inläsning och utskrift Typkonvertering och strängformatering Teckenkodning Jobba med externa filer

Inläsning 3/18 Program som gör beräkningar rätt är bra, program där användaren får styra är ofta bättre. Därför är det bra att låta användaren mata in data. I Python finns det "ett" sätt att låta användaren mata in data, input input ger alltid en sträng som resultat Till input kan man skicka en sträng som ledtext till användaren

Inläsning 4/18 input name = input('mata in ditt namn: ') print("hej " + name) Mata in ditt namn: Kalle Hej Kalle price = input('mata in pris: ') price = int(price) products = input('antal produkter: ') products = int(products) sum = price * products print('totalt värde: ' + str(sum)) Mata in pris: 12 Antal produkter: 3 Totalt värde: 36

Typomvandling 5/18 Funktionerna int och float omvandlar en sträng till ett heltal respektive ett reellt tal Båda funktionerna kräver att strängen endast innehåller ett numeriskt värde (på rätt format) På samma sätt kan str omvandla ett värde till en strängrepresentation.

Utskrift 6/18 >>> print(1,2,3) 1 2 3 >>> print(1,2,3,... sep='x',... end=' slut!') 1x2x3 slut! print används oftast för att skriva ut saker på skärmen print kan ta flera värden och skriver ut dem separerade med mellanslag och avslutar med ny rad ('\n') Om man vill kan detta ändras med sep och end

Strängformatering 7/18 Funktionen format print är bra på att skriva ut saker men ibland vill man att det ska se snyggare ut Då är str.format() bra att ha Man kan formatera strängar på flera sätt enligt http://docs.python.org/3/library/string.html#formatspec Här tar vi upp en kortvariant Liknar printf-språket en del men är väldigt sofistikerat! Tar formatbeskrivning på formen {namn:format}

Strängformatering 8/18 name = input('förnamn: ') surname = input('efternamn: ') message = 'Hej {n} {s}!'.format(n=name,s=surname) print(message) name = input('förnamn: ') surname = input('efternamn: ') message = 'Hej {} {}!'.format(name,surname) print(message) Förnamn: Kalle Efternamn: Nilsson Hej Kalle Nilsson!

Strängformatering 9/18 Formatering av tal >>> pi = 3.141592 # eller math.pi >>> print('{}'.format(pi)) 3.141592 >>> print('{:.2f}'.format(pi)) 3.14 >>> print('{:06.3f}'.format(pi)) 03.142

Strängformatering 10/18 Formatering av tal print('tabell över tal i olika talbaser\n' + '='*32) print(' Bin Oct Dec Hex') for num in range(17): print('{0:5b}{0:5o}{0:5d}{0:5x}'.format(num)) Tabell över t a l i olika talbaser ================================ Bin Oct Dec Hex 0 0 0 0 1 1 1 1 10 2 2 2 1 1 3 3 3 100 4 4 4 1 0 1 5 5 5 1 1 0 6 6 6 1 1 1 7 7 7 1000 10 8 8 1 0 0 1 1 1 9 9 1 0 1 0 12 10 A 1 0 1 1 13 1 1 B 1 1 0 0 14 12 C 1 1 0 1 15 13 D 1 1 1 0 16 14 E 1 1 1 1 1 7 15 F 10000 18 16 10

Strängformatering 11/18 Formatering av tal print('tabell över tal i olika talbaser\n' + '='*32) print(' Bin Oct Dec Hex') formatstr = '' for f in 'bodx': formatstr += '{{0:5{c}}}'.format(c=f) for num in range(17): print(formatstr.format(num))

Teckenkodning 12/18 Teckenkodningen är kopplingen mellan det tecken man ser på skärmen och hur det tecknet lagras i datorns minne. "Vanliga" tecken såsom de vi har på tangentbordet ryms gott och väl i en byte (det räcker ju till hela 256 tecken). När webben blev större blev det jobbigare att klara sig med endast 256 tecken. Bara japanerna har över 3000 tecken som de tycker man bör kunna efter grundskolan (I ett av deras skriftspråk).

Teckenkodning 13/18 Unicode Unicode en global teckenmängd utan specificerad intern representation. Sedan version 3 är alla strängar I Python kodade i UTF-8. UTF-8 är en implementation av unicode som tar olika mycket plats beroende på vilket tecken som lagras. Om du vill ha ett tecken som inte finns på tangentbordet går det att kopiera från tabeller som finns i http://www.unicode.org/charts/ I python kan man även använda sig av teckenkoden: '\u00ae' eller alternativt namnet: '\N{registered sign}'

Filhantering 14/18 with open('minfil.txt') as f: for line in f: for word in line.split(): print(word, end='_') print() Ibland får man indata lagrat på en fil Filer öppnas lättast med with open(...) Som standard går det endast att läsa från filen

Filhantering 15/18 Teckenkodning Vanligtvis öppnar python filer med den teckenkodning som är standard på ditt system Det kan ändras med encoding-parametern om man vet att filen har en specifik teckenkodning with open('minfil.txt', encoding='latin1') as f: for line in f: for word in line.split(): print(word, end='_') print()

Filhantering 16/18 Filmoder with open('minfil.txt', mode='r') as f: for line in f: print(line.strip()) Filmod Egenskap r Öppna för läsning w Öppna för skrivning (trunkerar innehållet) a Öppna för skrivning i slutet w+ Öppna för läsning och skrivning Om man vill ändra sättet man öppnar filen på (t.ex. för att kunna skriva till den) byter man ut 'r' mot något annat enligt nedanstående tabell

Filhantering 17/18 Skriva till fil with open('minfil', 'w') as f: for val in range(3): f.write(str(val)) with open('minfil', 'w') as f: for val in range(3): print(val, file=f) Man kan skriva till filer öppnade med 'w' eller 'a' Man kan göra det med write, men det är lättare med print och file-parametern

.. www.liu.se