Detta skapar en PDF som du sedan kan skriva ut. Du kan även spara ner PDFn och skriva ut senare.
Titel på utskriften?
Tack för ditt bidrag
Om vi kan använda det så lägger vi upp det på sidan. Nedan en länk till ditt bidrag om du vill spara det.
Spara som ...
Du sparar ditt skript under detta namn och kan sedan hämta tillbaka det med samma namn.
Läs in
Läs in ett tidigare sparat skript. Obs att du enbart kan läsa in skript i den webbläsare där du sparade skriptet. Vill du kunna läsa in och spara skript oberoende av webbläsare, så behöver du skaffa ett login (enkelt och gratis).
Skicka in bidrag
Föreslå rubrik
Beskriv vad din kod gör
Skapa kort länk
Använd en kort URL för att skicka länk till koden via SMS eller epost. När mottagaren klickar på länken, så öppnas denna webbsida, med din kod och din text. Länken rensas bort automatiskt om den inte används.
Rubrik (frivilligt)
Beskrivning (frivilligt)
Länk (kopiera hela)
format
Format är en metod för att formatera textsträngar.
Substitution av variabler
txt = "Jag heter {fname} och är {age} år".format(fname = "Emma", age = 18)
print(txt)
txt = "Jag heter {fname} och är {age} år".format(fname = "Emma", age = 18)
print(txt)
txt = "Jag heter {0}, {0} alltså, och är {1} år. {0} {1} år.".format("Emma", 18)
print(txt)
txt = "Jag heter {0}, {0} alltså, och är {1} år. {0} {1} år.".format("Emma", 18)
print(txt)
Vänster eller högerjustera
Till höger ...
kvitto ="Vi vill att alla siffror justeras till höger\n\n"
kvitto = kvitto + "Produkt {:>8} stycken\n"
kvitto = kvitto + "Produkt {:>8} stycken\n"
kvitto = kvitto + "Produkt {:>8} stycken\n"
kvitto = kvitto + "Produkt {:>8} stycken\n"
print(kvitto.format(9,100000, 344,92000,))
kvitto ="Vi vill att alla siffror justeras till höger\n\n"
kvitto = kvitto + "Produkt {:>8} stycken\n"
kvitto = kvitto + "Produkt {:>8} stycken\n"
kvitto = kvitto + "Produkt {:>8} stycken\n"
kvitto = kvitto + "Produkt {:>8} stycken\n"
print(kvitto.format(9,100000, 344,92000,))
Våra siffor kanske ska vara flyttal med 2 decimaler. Vi ger dem lite mer plats samtidligt. 10 betyder nu plats för 10 stycken heltalssiffror och 2 betyder plats för 2 decimaler till höger om kommatecknet.
kvitto ="Vi vill att alla siffror justeras till höger\n\n"
kvitto = kvitto + "Produkt {:>10.2f} kg\n"
kvitto = kvitto + "Produkt {:>10.2f} kg\n"
kvitto = kvitto + "Produkt {:>10.2f} kg\n"
kvitto = kvitto + "Produkt {:>10.2f} kg\n"
print(kvitto.format(9,1000, 344,92000,))
kvitto ="Vi vill att alla siffror justeras till höger\n\n"
kvitto = kvitto + "Produkt {:>10.2f} kg\n"
kvitto = kvitto + "Produkt {:>10.2f} kg\n"
kvitto = kvitto + "Produkt {:>10.2f} kg\n"
kvitto = kvitto + "Produkt {:>10.2f} kg\n"
print(kvitto.format(9,1000, 344,92000,))
Till vänster ...
kvitto ="Vi vill att alla siffror justeras till vänster\n\n"
kvitto = kvitto + "Produkt {:<8} stycken\n"
kvitto = kvitto + "Produkt {:<8} stycken\n"
kvitto = kvitto + "Produkt {:<8} stycken\n"
kvitto = kvitto + "Produkt {:<8} stycken\n"
print(kvitto.format(9,100000, 344,92000,))
kvitto ="Vi vill att alla siffror justeras till vänster\n\n"
kvitto = kvitto + "Produkt {:<8} stycken\n"
kvitto = kvitto + "Produkt {:<8} stycken\n"
kvitto = kvitto + "Produkt {:<8} stycken\n"
kvitto = kvitto + "Produkt {:<8} stycken\n"
print(kvitto.format(9,100000, 344,92000,))
I mitten (centrerar) ...
kvitto ="Vi vill att alla siffror justeras till vänster\n\n"
kvitto = kvitto + "Produkt {:^8} stycken\n"
kvitto = kvitto + "Produkt {:^8} stycken\n"
kvitto = kvitto + "Produkt {:^8} stycken\n"
kvitto = kvitto + "Produkt {:^8} stycken\n"
print(kvitto.format(9,100000, 344,92000,))
kvitto ="Vi vill att alla siffror justeras till vänster\n\n"
kvitto = kvitto + "Produkt {:^8} stycken\n"
kvitto = kvitto + "Produkt {:^8} stycken\n"
kvitto = kvitto + "Produkt {:^8} stycken\n"
kvitto = kvitto + "Produkt {:^8} stycken\n"
print(kvitto.format(9,100000, 344,92000,))
Placera tecken först ...
kvitto ="Vi vill att alla siffror justeras till vänster\n\n"
kvitto = kvitto + "Produkt {:=8} stycken\n"
kvitto = kvitto + "Produkt {:=8} stycken\n"
kvitto = kvitto + "Produkt {:=8} stycken\n"
kvitto = kvitto + "Produkt {:=8} stycken\n"
print(kvitto.format(9,100000, -344,+92000,))
kvitto ="Vi vill att alla siffror justeras till vänster\n\n"
kvitto = kvitto + "Produkt {:=8} stycken\n"
kvitto = kvitto + "Produkt {:=8} stycken\n"
kvitto = kvitto + "Produkt {:=8} stycken\n"
kvitto = kvitto + "Produkt {:=8} stycken\n"
print(kvitto.format(9,100000, -344,+92000,))
Använd alltid tecken
txt = "Temperaturen varierar mellan {:+} och {:+} grader celsius"
print(txt.format(-20,30))
txt = "Temperaturen varierar mellan {:+} och {:+} grader celsius"
print(txt.format(-20,30))
Gör stora tal mer läsbara genom att separera 1000 -talen
txt = "USAs statsskuld är {:,} dollar i aug 2024"
print(txt.format(35154000000000))
txt = "USAs statsskuld är {:,} dollar i aug 2024"
print(txt.format(35154000000000))
Presentera decimalt som binärt
txt="{0} i binär form {0:b}"
print(txt.format(123))
txt="{0} i binär form {0:b}"
print(txt.format(123))
Skapa en funktion som givet ett decimaltal returnerar den binära strängen.
txt = "Nu är det {:d} grader varmt."
print(txt.format(22))
txt = "Nu är det {:d} grader varmt."
print(txt.format(22))
Vänta lite, säger du. Tvinga fram decimal form när det redan är underförstått att den borde visa decimal form? Ja, för du kanske anger temperaturen i binär form, hexadecimal eller oktal form!
txt = "Nu är det {:d} grader varmt."
print(txt.format(0b10110))
print(txt.format(0x13))
print(txt.format(0o21))
txt = "Nu är det {:d} grader varmt."
print(txt.format(0b10110))
print(txt.format(0x13))
print(txt.format(0o21))
stad = "Göteborg"
temp = 22
print('I {} är det nu {} grader'.format(stad, temp))
stad = "Göteborg"
temp = 22
print('I {} är det nu {} grader'.format(stad, temp))
Höger och vänsterjustera inom en reserverad mängd tecken. Använd < respektive > för att ange vilket håll det skall fylla från.
Följande koder används för att ange vilken typ det handlar om.
b
binärt
c
tecken (ascii)
d
decimalt (bas 10)
o
oktalt (bas 8)
x
hexadecimalt
X
hexadecimalt (VERSALER)
n
nummer
e
vetenskaplig notation
E
samma som e men med E som separator
f
flyttal med fix notation
g
generell form
%
procent
Med väldigt små eller stora tal, då vill man ha siffror på ett vetenskapligt format för att hålla koll på nollorna.
txt = "En elektron väger {:e} kg och har laddningen {:e} columb."
print(txt.format(9.109E-31,1.602E-19))
txt = "En elektron väger {:e} kg och har laddningen {:e} columb."
print(txt.format(9.109E-31,1.602E-19))
Du kan justera noggranheten.
txt = "En elektron väger {:1.1e} kg och har laddningen {:1.1e} columb."
print(txt.format(9.109E-31,1.602E-19))
txt = "En elektron väger {:1.1e} kg och har laddningen {:1.1e} columb."
print(txt.format(9.109E-31,1.602E-19))
Är talen inom räckhåll vill man troligtvis enbart presentera dem på generell form.
txt = "Världsrekordet på 100 meter {:g} sekunder."
print(txt.format(9.58))
txt = "Världsrekordet på 100 meter {:g} sekunder."
print(txt.format(9.58))
Är det viktigt att det anges med viss exakthet kanske flyttal är rätt.
txt = "Världsrekordet på 100 meter {:f} sekunder."
print(txt.format(9.58))
txt = "Världsrekordet på 100 meter {:f} sekunder."
print(txt.format(9.58))
Du kan justera hur många värdesiffror som ska visas. Tex 2 till vänster och 3 till höger om kommatecknet.
txt = "Världsrekordet på 100 meter {:2.3f} sekunder."
print(txt.format(9.58))
txt = "Världsrekordet på 100 meter {:2.3f} sekunder."
print(txt.format(9.58))
Det går att tvinga fram visning i procent.
txt = "Luftfuktigheten är {:%}"
print(txt.format(0.57))
txt = "Luftfuktigheten är {:%}"
print(txt.format(0.57))
Du kan justera hur många värdesiffror som ska visas
txt = "Luftfuktigheten är {:2.2%}"
print(txt.format(0.57))
txt = "Luftfuktigheten är {:2.2%}"
print(txt.format(0.57))
Avancerade exempel
for num in range(0,15):
print('{0:{width}b}'.format(num, width=6), end='')
print()
for num in range(0,15):
print('{0:{width}b}'.format(num, width=6), end='')
print()
for num in range(0,15):
for base in 'dboX':
print('{0:{width}{base}}'.format(num, base=base, width=6), end=' ')
print()
for num in range(0,15):
for base in 'dboX':
print('{0:{width}{base}}'.format(num, base=base, width=6), end=' ')
print()
Det går att att skicka in en lista i format.
ip = [192, 168, 0, 1]
print('{:02X}{:02X}{:02X}{:02X}'.format(*ip))
ip = [192, 168, 0, 1]
print('{:02X}{:02X}{:02X}{:02X}'.format(*ip))
Låt oss ta ett exempel och förklara hur vi gör. Säg att vi vill skriva ut alla binära tal mellan 0 och 15, högerjusterat och fylla ut med nollor. Vi börjar i någon ände, t.ex. skriva ut talen 0 till 15.
for a in range(0,16):
print('{0}'.format(a))
for a in range(0,16):
print('{0}'.format(a))
Vi omvandlar talen till binär form.
for a in range(0,16):
print('{0:b}'.format(a))
for a in range(0,16):
print('{0:b}'.format(a))
Vi reserverar ett utrymme motsvarande 5 positioner för talen.