Logga in för att kunna spara vad du har gjort.
<< Föregående
Hem
Nästa >>
VARNING! Fönstret är för smalt för att använda pythonlabbet.se fullt ut. Använd en enhet med tangentbord!

Mer om print och annat

I det här avsnittet kommer du att lära dig att

Flera argument

Genom att skriva flera argument till print kan vi skriva ut flera saker på en gång. Om vi exempelvis vill skriva ut variablerna x och y så kan vi skriva print(x, y). De kommer då på samma rad med ett mellanrum mellan dem. Vi har naturligtvis kunnat göra det tidigare med print(str(x) + ' ' + str(y)) men du håller säkert med om att det här är enklare att skriva.

Exempel

Skriva ut flera saker samtidigt med flera argument till print.

print('Ett', 'Två')
print('Ett', 'Två', 'Tre')

Avsluta med annat än ny rad

Hittills har varje print inneburit en ny rad i utskriften. Det är standardinställningen för print, men det går att ändra på med ett argumentet med namn end. Som standard är end='\n' där \n är tecknet för ny rad. Vanligast är att använda end='' (inget) eller end=' ' (mellanrum) om vi vill ändra på standardbeteendet. Det här argumentet måste stå i slutet av argumenten.

Exempel

Använda argumentet end när skriver ut i en loop.

talföljd = [0, 1, 1, 2, 3, 5]
for tal in talföljd:
    print(tal, end=' ')

Separera med annat än mellanrum

Som vi sett separeras utskrifterna med mellanrum när vi använder flera argument till print. Det kan vi ändra på med hjälp av argumentet sep.

Exempel

Argumentet sep används till att ställa in vad som ska separera utskrifter.

print(2021,12,24, sep='-')
print('Ett', 'Två', 'Tre', sep=' / ')

Packa upp med operatorn *

Att skriva ut talföljden i exemplet ovan kan göras utan en loop med operatorn *. Den "packar upp" innehållet i listan och elementen blir som argument till funktionen istället.

Exempel

Packa upp elementen i listan med operatorn *.

talföljd = [0, 1, 1, 2, 3, 5]
print(*talföljd)
print(*talföljd, sep='->') #sep och end går fortfarande att använda

Logga in eller skapa konto för att spara dina framsteg och din kod.

Vad gör koden?

Läs koden nedan och försök lista ut vad programmet skriver ut. Kör programmet efter du svarat och se om du fick rätt.

-- Programmets utskrifter --

Fråga: Vad kommer programmet ovan att skriva ut?

Test 1 2 3.
Slut
Test, 1, 2, 3.
Slut
Test, 1, 2, 3.Slut
Test 1 2 3.Slut

Det var några bra saker att känna till om print. Nu ska vi gå över till andra detaljer i Python som kan förenkla livet och som är bra att känna till.

Strängar kan skrivas med ' eller "

På Pythonlabbet används ' till strängar, mest för att det bara krävs ett tangentbordstryck med svenskt tangentbord. I Python spelar det dock ingen roll om enkla eller dubbla citattecken används till strängar.

Exempel

Två olika sätt att skriva en sträng på.

a = 'En sträng'
#är samma sak som:
b = "En sträng"

Det går inte att blanda enkla och dubbla citattecken för samma sträng.

Nya operatorer

Flera gånger har vi skrivit rader som i = i + 1 för att lägga till ett till värdet på i. Det går att skriva förkortat i += 1. Operatorn += lägger helt enkelt till ett värde utan att vi behöver skriva variabelns namn två gånger. I tabellen nedan kan du se fler exempel på liknande operatorer.

Operator Exempel Samma som
+= i += 1 i = i + 1
−= i -= 1 i = i - 1
*= i *= 10 i = i * 10
/= i /= 2 i = i / 2
//= i //= 2 i = i // 2
%= i %= 2 i = i % 2
**= i **= 2 i = i ** 2

Funktionerna strip och split på strängar

Ibland innehåller en sträng oönskade tecken i början och/eller i slutet. Ett exempel är när vi tar emot text från användaren, då är det lätt hänt att det kommer med något blanksteg. Vi kan använda strängens inbyggda funktion strip() för att ta bort dessa.

Precis som append() och pop() är funktioner för listor är funktioner som strip() endast för strängar. Sådana funktioner anropas med en punkt efter variabelnamnet, så här sträng.strip(). Funktionen förändrar inte strängen, för att spara resultatet behöver vi skriva sträng = sträng.strip().

Exempel

Använda strip() för att rensa blanksteg i början och slutet av en sträng. Klicka testa för att se hur många tecken strängen s har före och efter.

s = '   pYtHoNlAbBeT    '
s = s.strip()

strip() tar även bort tecken som \n (ny rad) och \t (tabb).

En annan funktion som följer med strängar är split(). Som standard delar den upp en sträng i mindre delar som är separerade av blanka tecken (mellanrum, ny rad, tabb). Funktionen returnerar en lista med beståndsdelarna. Ett exempel är en mening, split() delar upp meningen i ord.

Exempel

Delar upp en mening i ord med split()

mening = 'Hoppas det är kul att lära sig Python'
orden = mening.split()
#orden = ['Hoppas','det','är','kul','att','lära','sig','Python']

Eftersom strip() returnerar en sträng går det att använda split() direkt efter strip() så här: sträng.strip().split(). Det går dock inte att använda funktionerna i omvänd ordning eftersom split() returner en lista och det går inte att använda strip() på en lista.

Logga in eller skapa konto för att spara dina framsteg och din kod.

Vad gör koden?

Läs koden nedan och försök lista ut vad programmet skriver ut. Kör programmet efter du svarat och se om du fick rätt.

-- Programmets utskrifter --

Fråga: Vad kommer programmet ovan att skriva ut?

konstig_sträng
konstig sträng
konstig
sträng

Logga in eller skapa konto för att spara dina framsteg och din kod.

Skapa

Programmet ska ta emot en rad med heltal separerade av blanksteg som enda input.
Exempelvis 1 2 3. Skriv ut summan av talen.

-- Programmets utskrifter --
Status
Du har inte gjort klart någon uppgift än (0 st).