Strängar och formateringar Flashcards
Hur hittar man första förekomsten av ett tecken?
tilldela ett tecken till variabeln char
tilldela en sträng till variabeln sentence
# initialisera indexvariabeln till 0
starta en while-loop som körs så länge index är mindre än längden av strängen
# om tecknet vid aktuell position i strängen är lika med det sökta tecknet
# bryt ut ur loopen
annars öka index med 1 och fortsätt loopen
om while-loopen avslutas utan att ha brutits
# tilldela index -1
# skriv ut att tecknet hittades och dess position
# annars skriv ut att tecknet inte hittades
Vad är “skivor” (slices)?
sekvens[start:stop:steg]
start: indexet där slicing börjar (inkluderat)
stop: indextet där slicingen slutar (inte inkluderat)
steg: antal steg mellan indexen (valfritt), inkrementering
används med listor, strängar och tuples.
negativa index: räkna bakåt från slutet av sekvensen, -1 är sista elementet, -2 är näst sista, osv.
När används en in-operator?
Används för att testa om ett värde finns i en sekvens, t ex i en lista, sträng eller tuple.
‘in’ returnerar ‘True’ om värdet finns i sekvensen och ‘False’ annars.
EXEMPEL:
min_lista = [1, 2, 3, 4, 5]
# Testa om 3 finns i listan
resultat = 3 in min_lista
print(resultat) # Resultat: True
Nämn olika strängfunktioner.
len()
.lower()
.upper()
.replace()
.count()
Nämn strängfunktioner som formaterar strängar hela rader.
.rjust() - t ex .rjust(80)
.center()
Vad händer om man skriver string1[ : : 0]?
ValueError: slice step cannot be zero
Vad är syntaxen för string.format()?
resultat_sträng = “Första delen: {} och andra delen: {}”.format(var1, var2)
{} används som platsmarkörer i strängen och kommer ersättas av värdena från ‘namn’ och ‘ålder.
Exempel:
namn = “Alice”
ålder = 25
använda string.format() för att infoga värden i en sträng
presentation = “Hej, mitt namn är {} och jag är {} år gammal.”.format(namn, ålder)
print(presentation)
Vad är det för skillnad mellan str.format() och f-stringar?
Båda används för att formatera strängar.
Skillnad i syntax:
❏ str.format() använder platsmarkörer {} i strängen och placerar variabler som argument i .format()-metoden.
❏ F-stringar använder syntaxen f’{variabel}’ direkt i strängen.
str.format() –>
namn = “Alice”
ålder = 25
presentation = “Hej, mitt namn är {} och jag är {} år gammal.”.format(namn, ålder)
f-stringar –>
namn = “Alice”
ålder = 25
presentation = f”Hej, mitt namn är {namn} och jag är {ålder} år gammal.”
Hur formaterar man utskriftsbredd med str.format()?
{:20}: Detta är en del av formateringsyntaxen och är en så kallad “fältbreddsspecifikation”. Den anger bredden av fältet där det används. I det här fallet betyder {:20} att varje fält ska vara 20 tecken breda.
Varje värde i varje fält tar upp 20 tecken, vilket skapar en tabelliknande layout.
EXEMPEL:
author = “Jane Austen”; book = “Emma”; reader = “Gary”
out_string = “”
print(out_string.format(book, author, reader))
»>Emma Jane Austen Gary
Hur formaterar man utskriftsbredd med f-string?
print(f’{book:20}{author:20}{reader:20}’)
❏Här används en f-string för att skapa en formaterad sträng som innehåller tre fält.
❏Varje fält har en bredd på 20 tecken och är associerat med en variabel (book, author, reader).
EXEMPEL:
author = “Author”; book = “Book”; reader = “Reader”
print(f’{book:20}{author:20}{reader:20}’)
Formatera strängar: justering (med f-string)
> vänsterjusterad
< högerjusterad
^ centrerad
author = “Author”; book = “Book”; reader = “Reader”
print(f’{book:>20}{author:>20}{reader:>20}’)
Vad gör strängmetoden .isdigit()?
Kontrollera om alla tecken i texten är siffror. Metoden isdigit() returnerar True om alla tecken är siffror, annars False.
txt = “50800”
x = txt.isdigit()
print(x)
»>
True
Vad gör strängmetoden .isdecimal()?
Returns True if all characters in the string are decimals (0-9), MEN det inkluderar inte punkten (.)
Vad gör strängmetoden .join()?
Konverterar elementen i en iterabel (te x lista, dict, tuple) till en sträng:
En lista av ord
words = [‘Detta’, ‘är’, ‘ett’, ‘exempel’]
Använd join för att sammanfoga orden till en sträng med mellanslag som separator
sentence = ‘ ‘.join(words)
Skriv ut den sammanfogade strängen
print(sentence)
> > > Detta är ett exempel
Hur kan man få ut det femte tecknet i en str?
femte = s[4]
eftersom index börjar på 0