Programmeringskurs: 1.4 Skrive ut tall og tekst sammen

Teori Formatert tekst

Det kan fort bli arbeidsomt å måtte blande variabler og tekst når vi skal skrive ut sammensatt tekst. Vi har også sett at det kan være utfordrende å blande tekst og tall. Et alternativ er å bruke formatert tekst. Da kan vi blande tekstlig innhold med variabler vi har definert, og med annen kode. Vi setter bokstaven f foran apostrofen for å si fra at en streng er en formatert tekst. Da kan vi sette inn variabler og annen kode i tekststrengen ved at vi setter dette mellom klammeparenteser {}.

Lag et program hvor du definerer to variabler. Verdien til den ene variabelen skal være strengen "Oskar", og den andre skal ha verdien 15. Bruk formatert tekst til å skrive ut meldingen

Jeg heter Oskar og er 15 år gammel.

hvor "Oskar" og 15 er satt inn ved å bruke variablene du definerte.

Vi definerer to variabler, som vi kaller navn og alder:

navn = "Oskar"
alder = 15

Vi bruker formatert tekst til å skrive ut meldingen slik:

print(f"Jeg heter {navn} og er {alder} år gammel.")

Når vi kjører programmet, blir resultatet:

Jeg heter Oskar og er 15 år gammel.
Prøv selv i editoren under eksempelet.
Nytt eksempel

I eksempelet brukte vi variabler inne i klammeparentesene. Vi kan også skrive kode direkte i klammeparentesene. I mange tilfeller kan dette være praktisk.

Formatert tekst skriver vi inn slik:

f"Tekst blandet med {variabel/kode} på denne måten."

I klammeparenteser kan vi skrive inn både variabelnavn og annen kode.

Ofte er det praktisk å lagre den formaterte teksten som en egen variabel.

Lag et program hvor brukeren skal skrive inn radius i en sirkel.

Programmet skal så skrive ut en setning som forteller hva arealet til sirkelen er. Bruk at #\pi = 3,14# og husk at arealet av en sirkel er gitt ved #\pi r^2#.

Bruk programmet til å regne ut arealet av en sirkel hvor radius er #5,3#.

Løsning

Vi skriver programmet slik:

r = float(input("Skriv inn radius i sirkelen:"))
areal_tekst = f"Arealet av en sirkel med radius {r} er {3.14*r**2}."
print(areal_tekst)

Nedenfor kan du kjøre programmet ved å trykke på .

Når vi kjører programmet og skriver inn at radius er 5.3 blir resultatet:

Arealet av en sirkel med radius 5.3 er 88.2026.

Vi ser at svaret i eksempelet ovenfor har 4 desimaler. Du kan selv bestemme hvor mange desimaler du ønsker å vise. Legger vi til : .2f i den siste klammeparentesen, slik at det står {3.14*r**2: .2f}, vil du få 2 desimaler i svaret. På samme måte vil : .3f gi 3 desimaler, : .1f gi 1 desimal og så videre. Nedenfor ser du et par eksempler. Du kan selv endre i koden hvis du ønsker. Trykk på RUN for å kjøre programmet, trykk på for å gå tilbake til koden.

Når vi setter inn tallverdier i formatert tekst, kan vi runde av ved å skrive

tallverdi: .nf

der n er antall desimaler og f står for float – som er et desimaltall.

Det vi har skrevet ut med print frem til nå, har havnet på én linje. Med formatert tekst kan vi legge inn linjeskift i teksten hvis den er omsluttet av tre apostrofer. Dersom koden vår er

tekst = f"""
Arealet av en sirkel med raidus {r} er {3.14*r**2:.2f}.
Omkretsen av sirkelen er {2*3.14*r:.1f}."""
print(tekst)

og variabelen r har verdien 5.3, blir resultatet slik:

Arealet av en sirkel med radius 5.3 er 88.20.
Omkretsen av sirkelen er 33.3

Siden vi setter inn variabler og kode i krøllparenteser, må vi sette en f foran de første tre apostrofene.

Cappelen Damm Kontakt: cda-matematikk@cappelendamm.no | Hva er Student? | Personvernerklæring | Rettigheter