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)
try ... except
Låt säga att du vill hämta in data från användaren. Du vill hämta ett tal (flyttal).
s = input()
t = float(s)
print("Du skrev in talet", t)
s = input()
t = float(s)
print("Du skrev in talet", t)
Sålänge användaren verkligen matar in ett tal så är alla glada och nöjda. Men vad händer om användaren matar in "Kalle" ?
Vi får körningsfel! Du måste klicka på koden och öppna kodeditorn för att se vilket körningsfel du får. Om du inte orkar, så avslöjar jag att du får följande fel:
Traceback (most recent call last):
File , line 2, in
TypeError: could not convert string to float: 'Kalle'
Ett sätt att hantera detta är faktiskt med try ... except. Så istället för att självsäkert utgå ifrån att användaren verkligen matar in ett tal, så kör vi istället attityden att vi försöker fråga efter ett tal men förbereder oss på ett misslyckande.
s = input()
try:
t = float(s)
print("Du skrev in talet", t)
except:
print("Du skrev inget tal, men jag överlever!")
s = input()
try:
t = float(s)
print("Du skrev in talet", t)
except:
print("Du skrev inget tal, men jag överlever!")
Så vi kan göra en loop och insistera att användaren verkligen skriver in ett tal.
tal_inmatat = False
text = "Skriv in ett tal"
while(not tal_inmatat):
s = input(text)
try:
t = float(s)
print("Du skrev in talet", t)
tal_inmatat = True
except:
text = "Du skrev inget tal, försök igen!"
print("Tack för att du matatde in ett tal!")
tal_inmatat = False
text = "Skriv in ett tal"
while(not tal_inmatat):
s = input(text)
try:
t = float(s)
print("Du skrev in talet", t)
tal_inmatat = True
except:
text = "Du skrev inget tal, försök igen!"
print("Tack för att du matatde in ett tal!")
raise
Motsatsen till try ... except, där vi hanterar ett fel, är raise. Vi kan framkalla ett Error i vårt program.
x = "340"
if not type(x) is int:
raise TypeError("GO ELLER! Bara int tillåtet!")
x = "340"
if not type(x) is int:
raise TypeError("GO ELLER! Bara int tillåtet!")
Lite frågor
Vad är poängen med try .. except
Fånga upp fel som kan inträffa och slussa koden till ett stycke som hanterar felet
Att man slipper skriva bra kod, man kan basically köra except på allt som kan gå fel