Dokumentation för Enkelt 5.0 Senast uppdaterad 3 Oktober 2020.


Funktioner

Skriv()

Skriver data till konsolen.

Hur Skriv() används:

skriv([parametrar])

Längd()

Returnerar längden på data. Längd() kan användas för att få antalet tecken i en sträng, antalet siffror i en variabel eller antalet element i en lista.

Hur Längd() används:

längd([data])

In()

Tar in användarinput från konsolen. In() används för att göra program interaktiva.

Hur In() används:

in([titel])

Exempel

namn = in("Skriv ditt namn: ")
skriv(namn)

Utdata

Skriv ditt namn: Edvard
Edvard

Töm()

Tömmer konsolen. Det kan vara praktiskt om ditt program behöver visa mycket information.

Hur Töm() används:

töm()

Exempel

skriv("Hej, Världen!")
töm()
skriv("Hej")

Utdata

Hej

Typ()

Returnerar vilken datatyp något är.

Hur Typ() används:

typ([data])

Exempel

skriv(typ("Hej"))
skriv(typ(1))
skriv(typ([1, 2, 3]))

Utdata

Sträng
Heltal
Lista

Konvertering av datatyper

Sträng()

Konverterar data till sträng-/textdatatypen.

Hur Sträng() används:

Sträng([data])

Exempel

skriv(Sträng(20) + "3")

Utdata

203

Heltal()

Konverterar data till heltals-/nummerdatatypen.

Hur Heltal() används:

Heltal([data])

Exempel

skriv(Heltal("20") + 3)

Utdata

23

Bool()

Konverterar data till booleskdatatypen

Hur Bool() används:

Bool([data])

Exempel

skriv(Bool(0))
skriv(Bool(1))
skriv(Bool("hej"))
skriv(Bool(""))

Utdata

Falskt
Sant
Sant
Falskt

Decimal()

Konverterar data till decimaldatatypen

Hur Decimal() används:

Decimal([data])

Exempel

skriv(Decimal("3.3") + 3)

Utdata

6.3

Lista()

Konverterar data till listdatatypen, och/eller skapar listor.

Hur Lista() används:

Lista([sekvens])

Exempel

skriv(Lista("abc"))

Utdata

['a', 'b', 'c']

Lexikon()

Konverterar data till lexikondatatypen, och/eller skapar lexikon.

Hur Lexikon() används:

Lexikon([parametrar])

Versaler & Gemener

Versal()

Konverterar text till versaler (stora bokstäver).

Hur Versal() används:

[sträng].versal()

Exempel

skriv("hej".versal())

Utdata

HEJ

Gemen()

Konverterar text till gemener (småbokstäver).

Hur Gemen() används:

[sträng].genen()

Exempel

skriv("Hej".gemen())

Utdata

hej

Ärversal()

Returnerar sant om en sträng är endast versaler.

Hur Ärversal() används:

[sträng].ärversal()

Exempel

skriv("HEJ".ärversal())
skriv("Hej".ärversal())

Utdata

Sant
Falskt

Ärgemen()

Returnerar sant om en sträng är endast gemener.

Hur Ärgemen() används:

[sträng].ärgemen()

Exempel

skriv ("hej".ärgemen())
skriv ("Hej".ärgemen())

Utdata

Sant
Falskt

Runda()

Avrundar decimaltal till närmaste heltal. Du kan också avrunda till ett decimaltal genom att specificera antalet decimaler.

Hur Runda() används:

runda([decimaltal], [antalet decimaler])

Exempel 1

skriv(runda(1.2))

Utdata

1

Exempel 2

skriv(runda(8.5673, 3))

Utdata

8.567

Funktioner för listor

Lista()

Se Konvertering av datatyper -> Lista().

Till()

Lägger till element i listor.

Hur Till() används:

[lista].till([data])

Exempel

lista = ["a", "b"]
skriv (lista)
lista.till("c")
skriv(lista)

Utdata

["a", "b"]
["a", "b", "c"]

Bort()

Tar bort element från listor.

Hur Bort() används:

[lista].bort([indexnummer])

Exempel

lista = ["a", "b"]
skriv(lista)
lista.bort(1)
skriv(lista)

Utdata

["a", "b"]
["a"]

Infoga()

Infogar element till specifika platser i listor.

Hur Infoga() används:

[lista].infoga([index], [element])

Exempel

lista = ["a", "b"]
skriv(lista)
lista.infoga(1, "c")
skriv(lista)

Utdata

["a", "b"]
["a", "c", "b"]

Index()

Returnerar indexnumret för ett element i en lista.

Hur Index() används:

[lista].index([element])

Exempel

lista = ["a", "b", "c"]
skriv(lista.index("a"))
skriv(lista.index("c"))
skriv(lista.index("b"))

Utdata

0
2
1

Sortera()

Sorterar listor (a-ö/0-9).

Hur Sortera() används:

sortera([lista])

Exempel 1

lista = ["a", "c", "b"]
skriv(sortera(lista))

Utdata

["a", "b", "c"]

Exempel 2

lista = [1, 10, 2, 0]
skriv(sortera(lista))

Utdata

[0, 1, 2, 10]

Dela()

Konvertera strängar till en listor. Du kan specificera separatorn (förvalet är blanksteg), och hur lång du vill att listan ska vara.

Hur Dela() används:

[sträng].dela([separator], [längd])

Exempel 1

sträng = "Hej världen"
skriv(sträng.dela())

Utdata

["Hej", "världen"]

Exempel 2

sträng = "1,2,3,4"
skriv(sträng.dela(","))

Utdata

["1", "2", "3", "4"]

Exempel 3

sträng = "1,2,3,4"
skriv(sträng.dela(",", 2))

Utdata

["1", "2", "3,4"]

Foga()

Motsatsen till Dela(). Fogar ihop listor till strängar.

Hur Foga() används:

[separator].foga([lista])

Exempel 1

lista = ["a", "b", "c"]
skriv("".foga(lista))

Utdata

abc

Exempel 2

lista = ["a", "b", "c"]
skriv(",".foga(lista))

Utdata

a,b,c

Exempel 3

lista = ["a", "b", "c"]
skriv(" hej ".foga(lista))

Utdata

a hej b hej c

Blanda

Blandar en lista slumpmässigt.

Hur Blanda() används:

[lista].blanda()

Exempel

lista = ["a", "c", "b"]
skriv(lista.blanda())
skriv(lista.blanda())

Utdata

["a", "c", "b"]
["c", "a", "b"]

Funktioner för lexikon

Lexikon()

Se Konvertering av datatyper -> Lexikon().

Nycklar()

Returnera en lista med alla nycklar i ett lexikon.

Hur används Nycklar()

[lexikon].nycklar()

Exempel

lexikon = {a: "Ananas", b: "Banan", c: "Citron"}
skriv(lexikon.nycklar())

Utdata

['a', 'b', 'c']

Ersätt()

Ersätta tecken och/eller strängdelar i strängar.

Hur Ersätt() används:

[sträng].ersätt([tecken], [ersättning])

Exempel 1

var = "Haj!"
var = var.ersätt("a", "e")
skriv(var)

Utdata

Hej!

Exempel 2

var = "Hej!"
var = var.ersätt("!", "")
skriv(var)

Utdata

Hej

Slump

Slump()

Genererar slumpmässiga heltal.

Hur Slump() används:

slump([start], [slut])

Exempel

skriv(slump(0, 2))
skriv(slump(0, 2))
skriv(slump(0, 2))

Utdata

2
0
1

Slumpval()

Genererar ett slumpmässigt val från en lista eller ett lexikon.

Hur Slumpval() används:

slumpval([lista eller lexikon])

Exempel

val = ["a", "b", "c"]
skriv(slumpval(val))

Utdata

b

Blanda()

Se Funktioner för listor -> Blanda().

Ärnum()

Kollar om en sträng är en siffra.

Hur Ärnum() används:

[data].ärnum()

Exempel 1

nummer = 2
skriv(nummer.ärnum())

Utdata

Attributfel (rad 2)

Exempel 2

nummer = "2"
skriv(nummer.ärnum())

Utdata

Sant

Matte

Matte är en av Enkelts inbyggda utökningsbibliotek. Matte innehåller olika funktioner realterat till matematik och uträkningar.

Eftersom Matte är ett utökningsbibliotek behöver man specifiera .matte före varje funktionsanrop.

Hur Matte används:

matte.[funktion]

Abs()

Returnerar det absoluta värdet av ett tal. Talet kan vara ett heltal eller decimaltal.

Hur Abs() används:

matte.abs([tal])

Exempel 1

nummer = -2
skriv(matte.abs(nummer))

Utdata

2

Tak()

Returnerar det minsta heltalet som inte är mindre än det tal som matats in.

Hur Tak() används:

matte.tak([tal])

Exempel 1

skriv(matte.tak(300.72))

Utdata

3001.0

Exempel 2

1 skriv (matte.tak(-23.11))

Utdata

-23.0

Golv()

Returnerar det största heltalet som inte är större än det tal som matats in.

Hur Golv() används:

matte.golv([tal])

Exempel 1

skriv(matte.golv(300.72))

Utdata

300.0

Exempel 2

skriv(matte.golv(-23.11))

Utdata

-24.0

Fakultet()

Returnerar fakulteten för det tal som matas in. För ett heltal större än noll är fakulteten lika med produkten av alla heltal från 1 upp till och med talet själv.

Hur Fakultet() används:

matte.fakultet([tal])

Exempel 1

skriv(matte.fakultet(23))

Utdata

25852016738884976640000

Sin(), Cos(), & Tan()

Sin()-funktionen returnerar sinus för det tal som matas in. Cos()-funktionen returnerar cosinus för det tal som matas in. Tan()-funktionen returnerar tangens för det tal som matas in.

Hur Sin(), Cos() & Tan() används:

matte.sin([tal])

matte.cos([tal])

matte.tan([tal])

Exempel

skriv(matte.sin(3))
skriv(matte.cos(3))
skriv(matte.tan(3))

Utdata

0.1411200080598672
-0.9899924966004454
-0.1425465430742778

Asin(), Acos(), & Atan()

Asin() returnerar bågsinus för det tal som matas in.

Acos() returnerar bågcosinus för det tal som matas in.

Atan() returnerar bågtangens för det tal som matas in.

Hur Asin(), Acos() & Atan() används:

matte.asin([tal]) matte.acos([tal]) matte.atan([tal])

Exempel

skriv(matte.asin(0.64))
skriv(matte.acos(0.64))
skriv(matte.atan(0.64))

Utdata

0.694498265626556
0.8762980611683406
0.5693131911006619

Potens()

Returnerar det första talet upphöjt till det andra talet.

Hur Potens() används:

matte.potens([tal], [uphöjt till])

Exempel

skriv(matte.potens(4, 3))

Utdata

64

Kvadratrot()

Ger kvadratroten av ett tal.

Hur Kvadratrot() används:

matte.kvadratrot([tal])

Exempel

skriv(matte.kvadratrot(10))

Utdata

3.1622776601683795

Log()

Returnerar logaritmen för ett tal. Logaritmen för ett tal a är den exponent x till vilket ett givet tal, med basen b, måste upphöjas för att anta värdet a.

Hur Log() används:

matte.log([tal])

Exempel

skriv(matte.log(10))

Utdata

2.302585092994046

Grader() & Radianer()

Grader()-funktionen konverterar radianer till grader. Radianer()-funktionen konverterar grader till radianer.

Hur Grader() & Radianer() används:

matte.grader([radianer])

matte.radianer([grader])

Exempel

skriv(matte.grader(180))
skriv(matte.radianer(10313.240312354817))

Utdata

10313.240312354817
180.0

E() & Pi()

E() returnerar det matematiska konstanten e.

Pi() returnerar pi.

Hur E() & Pi() används:

matte.e()

matte.pi()

Exempel

skriv(matte.e())
skriv(matte.pi())

Utdata

2.718281828459045
3.141592653589793

Tid

Tid är en av Enkelts inbyggda utökningsbibliotek. Tid innehåller olika funktioner realterat till datum och tid.

Eftersom Tid är ett utökningsbibliotek behöver man specifiera .tid före varje funktionsanrop.

Hur Tid används:

tid.[funktion]

Epok()

Returnerar antalet sekunder sedan 1:a januari 1970 (Unix-epoken).

Hur Epok() används:

tid.epok()

Exempel

skriv(tid.epok(x))

Utdata

1545925769.9618232

Tid()

Returnerar dagens datum och tid. Kan även konvertera epoksekunder till läsbara datum.

Hur Tid() används:

tid.tid()

tid.tid([epoksekunder])

Exempel

skriv(tid.tid())
skriv(tid.tid(1545925769.9618232))

Utdata

Sat May 9 17:45:59 2020
Thu Dec 27 15:49:29 2018

Datum()

Tar in ett årtal en måndag, och en dag, och returnerar ett datumobjekt.

Hur Datum() används:

tid.datum([år], [månad], [dag])

Exempel

skriv(tid.datum(2020, 21, 5))
skriv(typ(tid.datum(2020, 21, 5)))

Utdata

2020-05-09
datum

Nu()

Returnerar ett datum- & tidsobjekt med dagens datum och tid.

Hur Nu() används:

tid.nu()

Exempel

skriv(tid.nu())
skriv(typ(tid.nu()))

Utdata

2020-05-09 21:06:31.142564
datum & tid

Idag()

Returnerar dagens datum i ett datumobjekt.

Hur Idag() används:

tid.idag()

Exempel

skriv(tid.idag())

Utdata

2020-05-09

Arbete med filer

Går inte att använda i webbredigeraren

Öppna()

Öppnar textfiler. Funktionen tar in två argument: ett filnamn/sökväg och ett öppningsläge som kan vara 'r' (read) för att läsa, 'w' (write) för överförning av text, eller 'a' (append) för att överföra text utan att skriva över det gamla innehållet. Man kan också lägga till ett '+' för 'w' för att skapa filen om den inte hittas. 'r+' öppnar filen för både läsning och överförning.

Hur Öppna() används:

öppna([fil], [läge]) som [variabel för filen] {}

Exempel

öppna('min_fil.txt', 'w+') som minFil:
    ...

Läs()

Läser innehållet från öppna texfiler.

Hur Läs() används:

[fil].läs()

Exempel

öppna('min_fil.txt') som minFil:
    skriv(minFil.läs())

Överför()

Överför/skriver text till öppna textfiler.

Hur Överför() används:

[fil].överför([data])

Exempel

öppna("fil.txt", "w+") som fil:
    fil.överför("ny text")

Utdata

Hej, Världen!
ny text!

Variabler

Sträng

Text-/strängvariabler deklareras med enkla eller dubbla citattecken. En sträng kan innehålla bokstäver, tecken och siffror.

Hur strängvariabler används:

variabel = "text"

Heltal

Heltalsvariabler innehåller heltal.

Hur heltalsvariabler används:

variabel = 2

Lista

Listor är en variabeldatatyp där du kan spara flera värden i samma variabel och under samma variabelnamn. Listor deklareras med fyrkantiga parenteser, alltså [ och ]. Saker i listor kallas för element och de separeras med kommatecken.

Hur listor används:

variabel = ["a", 1]

Lexikon

Lexikon är en variabeldatatyp som fungera lite som listor men med den skillnaden att istället för att ge alla element en indexnummer har de en nyckel. Lexikon deklareras med krulliga parenteser, alltså { och }. Varje element beskrivs först med en nyckel följt av ett kolon och sedan ett värde för elementet. Nycklar kan skrivas med eller utan citationstecken runt sig.

Hur lexikon används:

variabel = {a: "alpha", b: "beta", namn: "Edvard"}

Exempel

var = {a: "alpha", b: "beta", namn: "Edvard"}
skriv(var["a"])
skriv(var["namn"])

Utdata

alpha
Edvard

Boolesk

Boolesk-variabler är antingen sanna eller falska.

Hur booleskvariabler används:

variabel = Sant

variabel = Falskt


Kontroll

Villkorssatser

Om()

Kör koden innom satsen om uttrycket stämmer.

Hur Om() används:

om([uttryck])

Exempel 1

var = Sant
om var == Sant:
    skriv("Sant!")

Utdata

Sant!

Exempel 2

var = Falskt
om var == Sant:
    skriv ("Sant!")

Utdata


Anom()

Kör koden inom satsen om uttrycket stämmer och det föregående uttrycket inte stämmer.

Hur Anom() används:

anom([uttryck]):

Exempel

var = Sant
om var == Sant:
    skriv("Sant!")
anom var == Falskt:
    skriv("Falskt!")

Utdata

Falskt!

Annars

Kör koden inom satsen om alla tidigare Om()- & Anom()-uttryck inte stämmer.

Hur annars används:

annars:

Exempel /i/ Du kan använda dig av nyckelorden: och & eller, i om- och anom-uttryck.

var = Sant
om var == Sant och längd(var) == 3:
    skriv("Sant!")
annars:
    skriv("Falskt!")

Utdata

Falskt!

Ternära operatorer

Ett sätt att använda om- och annars-uttryck på en rad.

Hur ternära opertorer används:

[stämmer] om [uttryck] annars [stämmer inte]

Exempel

Skriv en hälsning om ett namn givits.

namn = in("Skriv ditt namn: ")
skriv("Hej" + namn om namn != "" annars "Inget namn givet!")

Utdata

Skriv ditt namn: Jonas
Hej Jonas
Skriv ditt namn:
Inget namn givet!

Loopar

Loopar behövs om man ska göra något flera gånger. Enkelt har två typer av loopar: för-loopar och medan-loopar.

För-loop

En för loop används för att "loopa över" något. Man kan b.la. loopa igenom en lista eller räkna upp (eller) ner till ett tal.

Exempel 1

Här är en för loop som skriver ut siffrorna 0 till 10. I för-loopen har man en variabel som ändras, man brukar ofta kalla den variabeln för i.

för i inom området(0,11):
    skriv(i)

Utdata

0
1
2
3
4
5
6
7
8
9
10

Lägg märke till att om man du vill loopa upp till 10 måste du skriva området(0,11) om man istället skulle skriva området(0,10) skulle loopen bara räkna till 9!

Märker du att man kan läsa vad loopen gör så här: för i inom området 0 till 11, skriv i.

Exempel 2

Här är en för-loop som loopar genom alla element i en lista.

lista = ["a", "b", "c"]

för(sak inom lista):
    skriv (sak)

Utdata

a
b
c

Exempel 3

Här är en för-loop som loopar genom alla element i en lista samt numrerar elementen.

lista = ["a", "b", "c"]

för index, sak inom numrera(lista):
    skriv (sak)
    skriv (index)

Utdata

a
0
b
1
c
2

Medan-loop

Medan-loopen kör koden inom sig så länge som ett uttryck stämmer.

Exempel 1

Här är en medan-loop som räknar upp siffrorna 0 till 10.

i = 0

medan i < 10:
    skriv (i)
    i += 1

Utdata

0
1
2
3
4
5
6
7
8
9
10

Lägg märke till att man här också kan läsa loopen rakt: medan i är mindre än 10, skriv i.

Nyckelord

Det finns två nyckelord du kan använda dig av i loopar. Dessa är:

  • Bryt
  • Fortsätt

Bryt

Används då du vill bryta dig ut från en loop. Då du skriver bryt inuti en loop så avslutas loopen och programmet fortsätter som vanligt utanför/efter loopen.

Fortsätt

Fortsätt är nästan motsatsen till bryt, loopen fortsätter men hoppar över resten av loopen. Fortsätt är något man inte behöver använda väldigt ofta och för det mesta kan man skriva om loopen så att fortsätt inte behövs.

Funktioner

En funktion är som en maskin som tar in argument/parametrar. Argument kan vara vilken datatyp som helst (sträng, heltal, boolesk, osv.). Funktionen använder sedan dessa argument och antingen returnerar funktionen något eller så utför den sin uppgift utan att returnera något.

När man vill returnera något så använder man nyckelordet returnera + det man vill returnera: returnera [något att returnera]

Hur funktioner används:

def funktionsnamn([argument]):

Exempel 1

Här är en funktion som adderar ihop två nummer.

def addition(num_a, num_b):
    returnera num_a+num_b

skriv(addition(1, 2))

Utdata

3

Exempel 2

Här är en funktion som skriver ut text.

def skrivare(text):
    skriv(text)

skrivare("Hej, Världen!")

Utdata

Hej, Världen!

Klasser

Klasser är ett lite mer komplicerat koncept inom programmering men de är väldigt användbara och öppnar upp en helt ny värld av möjlighetet med så kallad Objektorienterad programmering. En klass är egentligen ett block med funktioner som är relaterade. När man talar om klasser talar man ofta om objekt och de är också i den kontexten som den här dokumentationen kommer att följa. Ett objekt är en samling funktioner och värden som kan användas som en sorts ritning (exempel följer:)

Hur Klasser används:

klass [namn]:

Exempel 1

Ett objekt som representerar en person

klass person:
    def __init__(själv, namn, ålder):
        själv.namn = namn
        själv.ålder = ålder

    def åldra(själv):
        själv.ålder = själv.ålder + 1

# En person 
person1 = person("Karl", 25)
skriv(person1.namn)
skriv(person1.ålder)
person1.åldra()
skriv(person.ålder)

# En annan person.
person2 = person("Jonas", 2)
skriv(person2.namn)
skriv(person2.ålder)

Utdata

Karl
25
26
Jonas
2

OBS! Märkt att funktioner i klasser altid tar själv som första argument!

Felhantering

Felhantering gå ut på att fånga och kasta felmeddelanden i sitt program.

Försök

Används då du inte kan vara säker på att något kommer att fungera, d.v.s. att något inte kommer orsaka ett felmeddelande.

Hur försök används:

försök:

Exempel

försök:
    # Kod som kan kasta felmeddelanden.

Kasta()

Med Kasta()-funktionen kan du skapa ett felmeddelande som kan fångas i fånga.

Hur Kasta() används:

kasta([felmeddelande])

Exempel

var = in("Skriv ett nummer lägre en 5: ")

försök {
    om var < 5:
        skriv ("OK!")
    annars:
        kasta("För stort!")

Fånga

Med Fånga() fångar du felmeddelanden.

Hur Fånga() används:

fånga [variabelnamn för felmeddelander]:

Exempel

var = in("Skriv ett nummer lägre en 5: ")

försök:
    om var < 5:
        skriv ("OK!")
    annars:
        kasta("För stort!")

fånga error:
    skriv (error)

Utdata (variation 1)

Skriv ett nummer lägre en 5: 3
OK!

Utdata (variation 2)

Skriv ett nummer lägre en 5: 7
För stort!

Slutligen

Slutligen används då du avslutningsvis vill göra något (exempel snart). Slutligen används oftast i kontext med felhantering med kan också används med b.la. för-loopar.

Hur slutligen används:

slutligen:

Exempel

var = in("Skriv ett nummer lägre en 5: ")

försök:
    om var < 5:
        skriv ("OK!")
    annars:
        kasta("För stort!")

fånga error:
    skriv (error)

slutligen:
    skriv ("Hej då!")

Utdata (variation 1)

Skriv ett nummer lägre en 5: 3
OK!
Hej då!

Utdata (variation 2)

Skriv ett nummer lägre en 5: 7
För stort!
Hej då!

Som du kan se så körs koden innuti slutligen alltid.


Nyckelord

Här är en lista och en kort beskrivining för alla nyckelord i språket.

Hur Nyckelord används:

[nykelord]

Nyckelord | Beskrivning --- | --- Falskt | Boolesk, sant Sant | Boolesk, sant. annars | Används efter Om() och/eller Anom(). Körs bara om Om() -uttrycket och/eller Anom() -uttrycket inte stämmer/är falskt. bryt | Används i loopar. Bryter ut ur loopen och fortsätter programmet som vanligt. Används främst i medan-loopar. def | Kort för: definiera. Används för att definiera/deklarera funktioner. Funktioner deklareras alltid högst upp i koden. fortsätt | Används i loopar. Hoppar över resten av loopen och går vidare till början. inom | Används i för-loopar: för i, inom området(0,11) {}. mattee | Används för att få siffran e. mattepi | Används för att få pi. inte | Används i Om() och Anom() "svänger om" en boolesk. returnera | Används i funktioner när man ska returnera ett värde. och | och kan användas i om/anom uttryck samt i medan-loopar. Och gör att man kan kolla om två uttryck stämmer. eller | eller kan användas i om/anom uttryck samt i medan-loopar. Och gör att man kan kolla om ett eller ett annat uttryck stämmer. global | infoga en global variabel. passera | ignorera resten.


Operatorer

Här är en lista och en kort beskrivining för alla operatorer i språket.

Hur Operatorer används:

[operator]

Operator | Beskrivning --- | ---

  • | Addition och sammanfogning, plus.
  • | Subtraktion, minus.
  • | Multiplikation, gånger. / | Division, snedstreck. % | Modulo, procent, procenttecken. < | Mindre än.

| Större än. = | Lika med. == | Lika med i kontrollsyfte. ! | Inte. != | Inte lika med. . | Punkt. : | Separator i b.la. loopar. ; | Slut. , | Separator. ( | Funktionsstart. ) | Funktionsslut.


Avancerade funktioner

Importering

Importering går ut på att använda externa bibliotek i sin kod. Vad betyder det? Jo, I Enkelt så finns det en del inbyggda funktioner, men om du har gjort en funktion som du tycker är praktisk så kan du göra den till ett bibliotek. Ett bibliotek är en enkelt-fil som innehåller en eller flera funktioner. Du kan sedan importera filen in i ett annat enkelt-projekt och använda funktionerna från biblioteket där utan att behöva kopiera in dem eller skriva av dem.

Hur Importering används:

importera = [bibliotek]

Exempel Exempel på hur importering kan användas. Vi har två enkelt-filer: matematik.e och kod.e. Matematik.e är ett bibliotek och kod.e är skriptet där vi vill använda biblioteket.

matematik.e

def addera(num1, num2):
    returnera num1+num2

def subtrahera(num1, num2):
    returnera num1-num2

kod.e

importera matematik

skriv(matematik.addera(1, 2))
skriv(matematik.subtrahera(10, 5))

Utdata

3
5

Här så importerade alltså filen kod.e matematik.e och då kunde funktionerna från matetik.e användas i kod.e!

Bibliotek

Bibliotek är skript med samlade funktioner som kan importeras och användas i andra skript.

Hur Bibliotek används:

importera = [bibliotek]

Om du har gjort ett bibliotek och du vill dela det med dig så kan du ladda upp det till bibliotek.enkelt.io så att andra kan använda ditt bibliotek i sina program. Klicka bara på länken för att läsa mer.

Utökningar

Utökningar är liknade till bibliotek men med den skillnaden att de skrivs i Python och inte i Enkelt. Utökningsbibliotek har filtypen .epy.

Hur utökningar används:

importera [utökningsbibliotek]

Hur skriver man ett utökningsbibliotek?

  • Skapa en .epy fil.
  • Skriv dina funktioner med Python.
  • Se till att namnen på de funkioner som kommer kunna användas via Enkelt fäljer det här namnformatet: [namnet på ditt utökningsbibliotek]__enkelt__[namnet på din funktion]

Exempel

Utökningsbibliotek: (bibliotek.epy)

def bibliotek__enkelt__funktion1(var1):
    return funktion2() + var1

def funktion2():
    return 1+2

Enkeltskript: (kod.e)

utöka bibliotek

skriv(bibliotek.funktion1(3))
skriv (bibliotek.funktion2())

Utdata

6
Syntaxfel

Lambda-funktioner

Lambda-funktioner är ett ganska så avancerat koncept, men i sin enklaste form är de enradiga funktioner.

Hur lambda-funktioner används:

Deklarering

[variabel] => [kommaseparerade argument] : [kod...]

Användning

[variabel]([kommaseparerade värden])

Exempel

var => a, b : a + b
skriv(var(1, 2))

Utdata

3

Flykt

Flykt (escaping) behövs då en sträng behöver innehålla vissa specialtecken, b.la. \ och ", samt '.

Hur flykt används:

\[tecken du vill fly]

Exempel 1

Här förväntar vi oss utdatan: Hej "Edvard", hur mår du?

skriv("Hej "Edvard", hur mår du?")

Utdata

Hej , hur mår du?

Det blev fel! Man måste fly citationstecken.

Exempel 2

Här förväntar vi oss samma som i exempel 1.

skriv("Hej \"Edvard\", hur mår du?")

Utdata

Hej "Edvard", hur mår du?

Nu blev det rätt!


Dokumentation för Enkelt 5.0 Senast uppdaterad 3 Oktober 2020.


Funktioner

Skriv()

Skriver data till konsolen.

Hur Skriv() används:

skriv([parametrar])

Längd()

Returnerar längden på data. Längd() kan användas för att få antalet tecken i en sträng, antalet siffror i en variabel eller antalet element i en lista.

Hur Längd() används:

längd([data])

In()

Tar in användarinput från konsolen. In() används för att göra program interaktiva.

Hur In() används:

in([titel])

Exempel

namn = in("Skriv ditt namn: ")
skriv(namn)

Utdata

Skriv ditt namn: Edvard
Edvard

Töm()

Tömmer konsolen. Det kan vara praktiskt om ditt program behöver visa mycket information.

Hur Töm() används:

töm()

Exempel

skriv("Hej, Världen!")
töm()
skriv("Hej")

Utdata

Hej

Typ()

Returnerar vilken datatyp något är.

Hur Typ() används:

typ([data])

Exempel

skriv(typ("Hej"))
skriv(typ(1))
skriv(typ([1, 2, 3]))

Utdata

Sträng
Heltal
Lista

Konvertering av datatyper

Sträng()

Konverterar data till sträng-/textdatatypen.

Hur Sträng() används:

Sträng([data])

Exempel

skriv(Sträng(20) + "3")

Utdata

203

Heltal()

Konverterar data till heltals-/nummerdatatypen.

Hur Heltal() används:

Heltal([data])

Exempel

skriv(Heltal("20") + 3)

Utdata

23

Bool()

Konverterar data till booleskdatatypen

Hur Bool() används:

Bool([data])

Exempel

skriv(Bool(0))
skriv(Bool(1))
skriv(Bool("hej"))
skriv(Bool(""))

Utdata

Falskt
Sant
Sant
Falskt

Decimal()

Konverterar data till decimaldatatypen

Hur Decimal() används:

Decimal([data])

Exempel

skriv(Decimal("3.3") + 3)

Utdata

6.3

Lista()

Konverterar data till listdatatypen, och/eller skapar listor.

Hur Lista() används:

Lista([sekvens])

Exempel

skriv(Lista("abc"))

Utdata

['a', 'b', 'c']

Lexikon()

Konverterar data till lexikondatatypen, och/eller skapar lexikon.

Hur Lexikon() används:

Lexikon([parametrar])

Versaler & Gemener

Versal()

Konverterar text till versaler (stora bokstäver).

Hur Versal() används:

[sträng].versal()

Exempel

skriv("hej".versal())

Utdata

HEJ

Gemen()

Konverterar text till gemener (småbokstäver).

Hur Gemen() används:

[sträng].genen()

Exempel

skriv("Hej".gemen())

Utdata

hej

Ärversal()

Returnerar sant om en sträng är endast versaler.

Hur Ärversal() används:

[sträng].ärversal()

Exempel

skriv("HEJ".ärversal())
skriv("Hej".ärversal())

Utdata

Sant
Falskt

Ärgemen()

Returnerar sant om en sträng är endast gemener.

Hur Ärgemen() används:

[sträng].ärgemen()

Exempel

skriv ("hej".ärgemen())
skriv ("Hej".ärgemen())

Utdata

Sant
Falskt

Runda()

Avrundar decimaltal till närmaste heltal. Du kan också avrunda till ett decimaltal genom att specificera antalet decimaler.

Hur Runda() används:

runda([decimaltal], [antalet decimaler])

Exempel 1

skriv(runda(1.2))

Utdata

1

Exempel 2

skriv(runda(8.5673, 3))

Utdata

8.567

Funktioner för listor

Lista()

/i/ Se Konvertering av datatyper -> Lista().

Till()

Lägger till element i listor.

Hur Till() används:

[lista].till([data])

Exempel

lista = ["a", "b"]
skriv (lista)
lista.till("c")
skriv(lista)

Utdata

["a", "b"]
["a", "b", "c"]

Bort()

Tar bort element från listor.

Hur Bort() används:

[lista].bort([indexnummer])

Exempel

lista = ["a", "b"]
skriv(lista)
lista.bort(1)
skriv(lista)

Utdata

["a", "b"]
["a"]

Infoga()

Infogar element till specifika platser i listor.

Hur Infoga() används:

[lista].infoga([index], [element])

Exempel

lista = ["a", "b"]
skriv(lista)
lista.infoga(1, "c")
skriv(lista)

Utdata

["a", "b"]
["a", "c", "b"]

Index()

Returnerar indexnumret för ett element i en lista.

Hur Index() används:

[lista].index([element])

Exempel

lista = ["a", "b", "c"]
skriv(lista.index("a"))
skriv(lista.index("c"))
skriv(lista.index("b"))

Utdata

0
2
1

Sortera()

Sorterar listor (a-ö/0-9).

Hur Sortera() används:

sortera([lista])

Exempel 1

lista = ["a", "c", "b"]
skriv(sortera(lista))

Utdata

["a", "b", "c"]

Exempel 2

lista = [1, 10, 2, 0]
skriv(sortera(lista))

Utdata

[0, 1, 2, 10]

Dela()

Konvertera strängar till en listor. Du kan specificera separatorn (förvalet är blanksteg), och hur lång du vill att listan ska vara.

Hur Dela() används:

[sträng].dela([separator], [längd])

Exempel 1

sträng = "Hej världen"
skriv(sträng.dela())

Utdata

["Hej", "världen"]

Exempel 2

sträng = "1,2,3,4"
skriv(sträng.dela(","))

Utdata

["1", "2", "3", "4"]

Exempel 3

sträng = "1,2,3,4"
skriv(sträng.dela(",", 2))

Utdata

["1", "2", "3,4"]

Foga()

Motsatsen till Dela(). Fogar ihop listor till strängar.

Hur Foga() används:

[separator].foga([lista])

Exempel 1

lista = ["a", "b", "c"]
skriv("".foga(lista))

Utdata

abc

Exempel 2

lista = ["a", "b", "c"]
skriv(",".foga(lista))

Utdata

a,b,c

Exempel 3

lista = ["a", "b", "c"]
skriv(" hej ".foga(lista))

Utdata

a hej b hej c

Blanda

Blandar en lista slumpmässigt.

Hur Blanda() används:

[lista].blanda()

Exempel

lista = ["a", "c", "b"]
skriv(lista.blanda())
skriv(lista.blanda())

Utdata

["a", "c", "b"]
["c", "a", "b"]

Funktioner för lexikon

Lexikon()

/i/ Se Konvertering av datatyper -> Lexikon().

Nycklar()

Returnera en lista med alla nycklar i ett lexikon.

Hur används Nycklar()

[lexikon].nycklar()

Exempel

lexikon = {a: "Ananas", b: "Banan", c: "Citron"}
skriv(lexikon.nycklar())

Utdata

['a', 'b', 'c']

Ersätt()

Ersätta tecken och/eller strängdelar i strängar.

Hur Ersätt() används:

[sträng].ersätt([tecken], [ersättning])

Exempel 1

var = "Haj!"
var = var.ersätt("a", "e")
skriv(var)

Utdata

Hej!

Exempel 2

var = "Hej!"
var = var.ersätt("!", "")
skriv(var)

Utdata

Hej

Slump

Slump()

Genererar slumpmässiga heltal.

Hur Slump() används:

slump([start], [slut])

Exempel

skriv(slump(0, 2))
skriv(slump(0, 2))
skriv(slump(0, 2))

Utdata

2
0
1

Slumpval()

Genererar ett slumpmässigt val från en lista eller ett lexikon.

Hur Slumpval() används:

slumpval([lista eller lexikon])

Exempel

val = ["a", "b", "c"]
skriv(slumpval(val))

Utdata

b

Blanda()

/i/ Se Funktioner för listor -> Blanda().

Ärnum()

Kollar om en sträng är en siffra.

Hur Ärnum() används:

[data].ärnum()

Exempel 1

nummer = 2
skriv(nummer.ärnum())

Utdata

Attributfel (rad 2)

Exempel 2

nummer = "2"
skriv(nummer.ärnum())

Utdata

Sant

Matte

Matte är en av Enkelts inbyggda utökningsbibliotek. Matte innehåller olika funktioner realterat till matematik och uträkningar.

Eftersom Matte är ett utökningsbibliotek behöver man specifiera .matte före varje funktionsanrop.

Hur Matte används:

matte.[funktion]

Abs()

Returnerar det absoluta värdet av ett tal. Talet kan vara ett heltal eller decimaltal.

Hur Abs() används:

matte.abs([tal])

Exempel 1

nummer = -2
skriv(matte.abs(nummer))

Utdata

2

Tak()

Returnerar det minsta heltalet som inte är mindre än det tal som matats in.

Hur Tak() används:

matte.tak([tal])

Exempel 1

skriv(matte.tak(300.72))

Utdata

3001.0

Exempel 2

1 skriv (matte.tak(-23.11))

Utdata

-23.0

Golv()

Returnerar det största heltalet som inte är större än det tal som matats in.

Hur Golv() används:

matte.golv([tal])

Exempel 1

skriv(matte.golv(300.72))

Utdata

300.0

Exempel 2

skriv(matte.golv(-23.11))

Utdata

-24.0

Fakultet()

Returnerar fakulteten för det tal som matas in. För ett heltal större än noll är fakulteten lika med produkten av alla heltal från 1 upp till och med talet själv.

Hur Fakultet() används:

matte.fakultet([tal])

Exempel 1

skriv(matte.fakultet(23))

Utdata

25852016738884976640000

Sin(), Cos(), & Tan()

Sin()-funktionen returnerar sinus för det tal som matas in. Cos()-funktionen returnerar cosinus för det tal som matas in. Tan()-funktionen returnerar tangens för det tal som matas in.

Hur Sin(), Cos() & Tan() används:

matte.sin([tal])

matte.cos([tal])

matte.tan([tal])

Exempel

skriv(matte.sin(3))
skriv(matte.cos(3))
skriv(matte.tan(3))

Utdata

0.1411200080598672
-0.9899924966004454
-0.1425465430742778

Asin(), Acos(), & Atan()

Asin() returnerar bågsinus för det tal som matas in.

Acos() returnerar bågcosinus för det tal som matas in.

Atan() returnerar bågtangens för det tal som matas in.

Hur Asin(), Acos() & Atan() används:

matte.asin([tal]) matte.acos([tal]) matte.atan([tal])

Exempel

skriv(matte.asin(0.64))
skriv(matte.acos(0.64))
skriv(matte.atan(0.64))

Utdata

0.694498265626556
0.8762980611683406
0.5693131911006619

Potens()

Returnerar det första talet upphöjt till det andra talet.

Hur Potens() används:

matte.potens([tal], [uphöjt till])

Exempel

skriv(matte.potens(4, 3))

Utdata

64

Kvadratrot()

Ger kvadratroten av ett tal.

Hur Kvadratrot() används:

matte.kvadratrot([tal])

Exempel

skriv(matte.kvadratrot(10))

Utdata

3.1622776601683795

Log()

Returnerar logaritmen för ett tal. Logaritmen för ett tal a är den exponent x till vilket ett givet tal, med basen b, måste upphöjas för att anta värdet a.

Hur Log() används:

matte.log([tal])

Exempel

skriv(matte.log(10))

Utdata

2.302585092994046

Grader() & Radianer()

Grader()-funktionen konverterar radianer till grader. Radianer()-funktionen konverterar grader till radianer.

Hur Grader() & Radianer() används:

matte.grader([radianer])

matte.radianer([grader])

Exempel

skriv(matte.grader(180))
skriv(matte.radianer(10313.240312354817))

Utdata

10313.240312354817
180.0

E() & Pi()

E() returnerar det matematiska konstanten e.

Pi() returnerar pi.

Hur E() & Pi() används:

matte.e()

matte.pi()

Exempel

skriv(matte.e())
skriv(matte.pi())

Utdata

2.718281828459045
3.141592653589793

Tid

Tid är en av Enkelts inbyggda utökningsbibliotek. Tid innehåller olika funktioner realterat till datum och tid.

Eftersom Tid är ett utökningsbibliotek behöver man specifiera .tid före varje funktionsanrop.

Hur Tid används:

tid.[funktion]

Epok()

Returnerar antalet sekunder sedan 1:a januari 1970 (Unix-epoken).

Hur Epok() används:

tid.epok()

Exempel

skriv(tid.epok(x))

Utdata

1545925769.9618232

Tid()

Returnerar dagens datum och tid. Kan även konvertera epoksekunder till läsbara datum.

Hur Tid() används:

tid.tid()

tid.tid([epoksekunder])

Exempel

skriv(tid.tid())
skriv(tid.tid(1545925769.9618232))

Utdata

Sat May 9 17:45:59 2020
Thu Dec 27 15:49:29 2018

Datum()

Tar in ett årtal en måndag, och en dag, och returnerar ett datumobjekt.

Hur Datum() används:

tid.datum([år], [månad], [dag])

Exempel

skriv(tid.datum(2020, 21, 5))
skriv(typ(tid.datum(2020, 21, 5)))

Utdata

2020-05-09
datum

Nu()

Returnerar ett datum- & tidsobjekt med dagens datum och tid.

Hur Nu() används:

tid.nu()

Exempel

skriv(tid.nu())
skriv(typ(tid.nu()))

Utdata

2020-05-09 21:06:31.142564
datum & tid

Idag()

Returnerar dagens datum i ett datumobjekt.

Hur Idag() används:

tid.idag()

Exempel

skriv(tid.idag())

Utdata

2020-05-09

Arbete med filer

/i/ Går inte att använda i webbredigeraren

Öppna()

Öppnar textfiler. Funktionen tar in två argument: ett filnamn/sökväg och ett öppningsläge som kan vara 'r' (read) för att läsa, 'w' (write) för överförning av text, eller 'a' (append) för att överföra text utan att skriva över det gamla innehållet. Man kan också lägga till ett '+' för 'w' för att skapa filen om den inte hittas. 'r+' öppnar filen för både läsning och överförning.

Hur Öppna() används:

öppna([fil], [läge]) som [variabel för filen] {}

Exempel

öppna('min_fil.txt', 'w+') som minFil:
    ...

Läs()

Läser innehållet från öppna texfiler.

Hur Läs() används:

[fil].läs()

Exempel

öppna('min_fil.txt') som minFil:
    skriv(minFil.läs())

Överför()

Överför/skriver text till öppna textfiler.

Hur Överför() används:

[fil].överför([data])

Exempel

öppna("fil.txt", "w+") som fil:
    fil.överför("ny text")

Utdata

Hej, Världen!
ny text!

Variabler

Sträng

Text-/strängvariabler deklareras med enkla eller dubbla citattecken. En sträng kan innehålla bokstäver, tecken och siffror.

Hur strängvariabler används:

variabel = "text"

Heltal

Heltalsvariabler innehåller heltal.

Hur heltalsvariabler används:

variabel = 2

Lista

Listor är en variabeldatatyp där du kan spara flera värden i samma variabel och under samma variabelnamn. Listor deklareras med fyrkantiga parenteser, alltså [ och ]. Saker i listor kallas för element och de separeras med kommatecken.

Hur listor används:

variabel = ["a", 1]

Lexikon

Lexikon är en variabeldatatyp som fungera lite som listor men med den skillnaden att istället för att ge alla element en indexnummer har de en nyckel. Lexikon deklareras med krulliga parenteser, alltså { och }. Varje element beskrivs först med en nyckel följt av ett kolon och sedan ett värde för elementet. Nycklar kan skrivas med eller utan citationstecken runt sig.

Hur lexikon används:

variabel = {a: "alpha", b: "beta", namn: "Edvard"}

Exempel

var = {a: "alpha", b: "beta", namn: "Edvard"}
skriv(var["a"])
skriv(var["namn"])

Utdata

alpha
Edvard

Boolesk

Boolesk-variabler är antingen sanna eller falska.

Hur booleskvariabler används:

variabel = Sant

variabel = Falskt


Kontroll

Villkorssatser

Om()

Kör koden innom satsen om uttrycket stämmer.

Hur Om() används:

om([uttryck])

Exempel 1

var = Sant
om var == Sant:
    skriv("Sant!")

Utdata

Sant!

Exempel 2

var = Falskt
om var == Sant:
    skriv ("Sant!")

Utdata


Anom()

Kör koden inom satsen om uttrycket stämmer och det föregående uttrycket inte stämmer.

Hur Anom() används:

anom([uttryck]):

Exempel

var = Sant
om var == Sant:
    skriv("Sant!")
anom var == Falskt:
    skriv("Falskt!")

Utdata

Falskt!

Annars

Kör koden inom satsen om alla tidigare Om()- & Anom()-uttryck inte stämmer.

Hur annars används:

annars:

Exempel /i/ Du kan använda dig av nyckelorden: och & eller, i om- och anom-uttryck.

var = Sant
om var == Sant och längd(var) == 3:
    skriv("Sant!")
annars:
    skriv("Falskt!")

Utdata

Falskt!

Ternära operatorer

Ett sätt att använda om- och annars-uttryck på en rad.

Hur ternära opertorer används:

[stämmer] om [uttryck] annars [stämmer inte]

Exempel

Skriv en hälsning om ett namn givits.

namn = in("Skriv ditt namn: ")
skriv("Hej" + namn om namn != "" annars "Inget namn givet!")

Utdata

Skriv ditt namn: Jonas
Hej Jonas
Skriv ditt namn:
Inget namn givet!

Loopar

Loopar behövs om man ska göra något flera gånger. Enkelt har två typer av loopar: för-loopar och medan-loopar.

För-loop

En för loop används för att "loopa över" något. Man kan b.la. loopa igenom en lista eller räkna upp (eller) ner till ett tal.

Exempel 1

Här är en för loop som skriver ut siffrorna 0 till 10. I för-loopen har man en variabel som ändras, man brukar ofta kalla den variabeln för i.

för i inom området(0,11):
    skriv(i)

Utdata

0
1
2
3
4
5
6
7
8
9
10

Lägg märke till att om man du vill loopa upp till 10 måste du skriva området(0,11) om man istället skulle skriva området(0,10) skulle loopen bara räkna till 9!

/i/ Märker du att man kan läsa vad loopen gör så här: för i inom området 0 till 11, skriv i.

Exempel 2

Här är en för-loop som loopar genom alla element i en lista.

lista = ["a", "b", "c"]

för(sak inom lista):
    skriv (sak)

Utdata

a
b
c

Exempel 3

Här är en för-loop som loopar genom alla element i en lista samt numrerar elementen.

lista = ["a", "b", "c"]

för index, sak inom numrera(lista):
    skriv (sak)
    skriv (index)

Utdata

a
0
b
1
c
2

Medan-loop

Medan-loopen kör koden inom sig så länge som ett uttryck stämmer.

Exempel 1

Här är en medan-loop som räknar upp siffrorna 0 till 10.

i = 0

medan i < 10:
    skriv (i)
    i += 1

Utdata

0
1
2
3
4
5
6
7
8
9
10

/i/ Lägg märke till att man här också kan läsa loopen rakt: medan i är mindre än 10, skriv i.

Nyckelord

Det finns två nyckelord du kan använda dig av i loopar. Dessa är:

  • Bryt
  • Fortsätt

Bryt

Används då du vill bryta dig ut från en loop. Då du skriver bryt inuti en loop så avslutas loopen och programmet fortsätter som vanligt utanför/efter loopen.

Fortsätt

Fortsätt är nästan motsatsen till bryt, loopen fortsätter men hoppar över resten av loopen. Fortsätt är något man inte behöver använda väldigt ofta och för det mesta kan man skriva om loopen så att fortsätt inte behövs.

Funktioner

En funktion är som en maskin som tar in argument/parametrar. Argument kan vara vilken datatyp som helst (sträng, heltal, boolesk, osv.). Funktionen använder sedan dessa argument och antingen returnerar funktionen något eller så utför den sin uppgift utan att returnera något.

När man vill returnera något så använder man nyckelordet returnera + det man vill returnera: returnera [något att returnera]

Hur funktioner används:

def funktionsnamn([argument]):

Exempel 1

Här är en funktion som adderar ihop två nummer.

def addition(num_a, num_b):
    returnera num_a+num_b

skriv(addition(1, 2))

Utdata

3

Exempel 2

Här är en funktion som skriver ut text.

def skrivare(text):
    skriv(text)

skrivare("Hej, Världen!")

Utdata

Hej, Världen!

Klasser

Klasser är ett lite mer komplicerat koncept inom programmering men de är väldigt användbara och öppnar upp en helt ny värld av möjlighetet med så kallad Objektorienterad programmering. En klass är egentligen ett block med funktioner som är relaterade. När man talar om klasser talar man ofta om objekt och de är också i den kontexten som den här dokumentationen kommer att följa. Ett objekt är en samling funktioner och värden som kan användas som en sorts ritning (exempel följer:)

Hur Klasser används:

klass [namn]:

Exempel 1

Ett objekt som representerar en person

klass person:
    def __init__(själv, namn, ålder):
        själv.namn = namn
        själv.ålder = ålder

    def åldra(själv):
        själv.ålder = själv.ålder + 1

# En person 
person1 = person("Karl", 25)
skriv(person1.namn)
skriv(person1.ålder)
person1.åldra()
skriv(person.ålder)

# En annan person.
person2 = person("Jonas", 2)
skriv(person2.namn)
skriv(person2.ålder)

Utdata

Karl
25
26
Jonas
2

/i/ OBS! Märkt att funktioner i klasser altid tar själv som första argument!

Felhantering

Felhantering gå ut på att fånga och kasta felmeddelanden i sitt program.

Försök

Används då du inte kan vara säker på att något kommer att fungera, d.v.s. att något inte kommer orsaka ett felmeddelande.

Hur försök används:

försök:

Exempel

försök:
    # Kod som kan kasta felmeddelanden.

Kasta()

Med Kasta()-funktionen kan du skapa ett felmeddelande som kan fångas i fånga.

Hur Kasta() används:

kasta([felmeddelande])

Exempel

var = in("Skriv ett nummer lägre en 5: ")

försök {
    om var < 5:
        skriv ("OK!")
    annars:
        kasta("För stort!")

Fånga

Med Fånga() fångar du felmeddelanden.

Hur Fånga() används:

fånga [variabelnamn för felmeddelander]:

Exempel

var = in("Skriv ett nummer lägre en 5: ")

försök:
    om var < 5:
        skriv ("OK!")
    annars:
        kasta("För stort!")

fånga error:
    skriv (error)

Utdata (variation 1)

Skriv ett nummer lägre en 5: 3
OK!

Utdata (variation 2)

Skriv ett nummer lägre en 5: 7
För stort!

Slutligen

Slutligen används då du avslutningsvis vill göra något (exempel snart). Slutligen används oftast i kontext med felhantering med kan också används med b.la. för-loopar.

Hur slutligen används:

slutligen:

Exempel

var = in("Skriv ett nummer lägre en 5: ")

försök:
    om var < 5:
        skriv ("OK!")
    annars:
        kasta("För stort!")

fånga error:
    skriv (error)

slutligen:
    skriv ("Hej då!")

Utdata (variation 1)

Skriv ett nummer lägre en 5: 3
OK!
Hej då!

Utdata (variation 2)

Skriv ett nummer lägre en 5: 7
För stort!
Hej då!

Som du kan se så körs koden innuti slutligen alltid.


Nyckelord

Här är en lista och en kort beskrivining för alla nyckelord i språket.

Hur Nyckelord används:

[nykelord]

Nyckelord | Beskrivning --- | --- Falskt | Boolesk, sant Sant | Boolesk, sant. annars | Används efter Om() och/eller Anom(). Körs bara om Om() -uttrycket och/eller Anom() -uttrycket inte stämmer/är falskt. bryt | Används i loopar. Bryter ut ur loopen och fortsätter programmet som vanligt. Används främst i medan-loopar. def | Kort för: definiera. Används för att definiera/deklarera funktioner. Funktioner deklareras alltid högst upp i koden. fortsätt | Används i loopar. Hoppar över resten av loopen och går vidare till början. inom | Används i för-loopar: för i, inom området(0,11) {}. mattee | Används för att få siffran e. mattepi | Används för att få pi. inte | Används i Om() och Anom() "svänger om" en boolesk. returnera | Används i funktioner när man ska returnera ett värde. och | och kan användas i om/anom uttryck samt i medan-loopar. Och gör att man kan kolla om två uttryck stämmer. eller | eller kan användas i om/anom uttryck samt i medan-loopar. Och gör att man kan kolla om ett eller ett annat uttryck stämmer. global | infoga en global variabel. passera | ignorera resten.


Operatorer

Här är en lista och en kort beskrivining för alla operatorer i språket.

Hur Operatorer används:

[operator]

Operator | Beskrivning --- | ---

  • | Addition och sammanfogning, plus.
  • | Subtraktion, minus.
  • | Multiplikation, gånger. / | Division, snedstreck. % | Modulo, procent, procenttecken. < | Mindre än.

| Större än. = | Lika med. == | Lika med i kontrollsyfte. ! | Inte. != | Inte lika med. . | Punkt. : | Separator i b.la. loopar. ; | Slut. , | Separator. ( | Funktionsstart. ) | Funktionsslut.


Avancerade funktioner

Importering

Importering går ut på att använda externa bibliotek i sin kod. Vad betyder det? Jo, I Enkelt så finns det en del inbyggda funktioner, men om du har gjort en funktion som du tycker är praktisk så kan du göra den till ett bibliotek. Ett bibliotek är en enkelt-fil som innehåller en eller flera funktioner. Du kan sedan importera filen in i ett annat enkelt-projekt och använda funktionerna från biblioteket där utan att behöva kopiera in dem eller skriva av dem.

Hur Importering används:

importera = [bibliotek]

Exempel Exempel på hur importering kan användas. Vi har två enkelt-filer: matematik.e och kod.e. Matematik.e är ett bibliotek och kod.e är skriptet där vi vill använda biblioteket.

matematik.e

def addera(num1, num2):
    returnera num1+num2

def subtrahera(num1, num2):
    returnera num1-num2

kod.e

importera matematik

skriv(matematik.addera(1, 2))
skriv(matematik.subtrahera(10, 5))

Utdata

3
5

Här så importerade alltså filen kod.e matematik.e och då kunde funktionerna från matetik.e användas i kod.e!

Bibliotek

Bibliotek är skript med samlade funktioner som kan importeras och användas i andra skript.

Hur Bibliotek används:

importera = [bibliotek]

Om du har gjort ett bibliotek och du vill dela det med dig så kan du ladda upp det till bibliotek.enkelt.io så att andra kan använda ditt bibliotek i sina program. Klicka bara på länken för att läsa mer.

Utökningar

Utökningar är liknade till bibliotek men med den skillnaden att de skrivs i Python och inte i Enkelt. Utökningsbibliotek har filtypen .epy.

Hur utökningar används:

importera [utökningsbibliotek]

Hur skriver man ett utökningsbibliotek?

  • Skapa en .epy fil.
  • Skriv dina funktioner med Python.
  • Se till att namnen på de funkioner som kommer kunna användas via Enkelt fäljer det här namnformatet: [namnet på ditt utökningsbibliotek]__enkelt__[namnet på din funktion]

Exempel

Utökningsbibliotek: (bibliotek.epy)

def bibliotek__enkelt__funktion1(var1):
    return funktion2() + var1

def funktion2():
    return 1+2

Enkeltskript: (kod.e)

utöka bibliotek

skriv(bibliotek.funktion1(3))
skriv (bibliotek.funktion2())

Utdata

6
Syntaxfel

Lambda-funktioner

Lambda-funktioner är ett ganska så avancerat koncept, men i sin enklaste form är de enradiga funktioner.

Hur lambda-funktioner används:

Deklarering

[variabel] => [kommaseparerade argument] : [kod...]

Användning

[variabel]([kommaseparerade värden])

Exempel

var => a, b : a + b
skriv(var(1, 2))

Utdata

3

Flykt

Flykt (escaping) behövs då en sträng behöver innehålla vissa specialtecken, b.la. \ och ", samt '.

Hur flykt används:

\[tecken du vill fly]

Exempel 1

Här förväntar vi oss utdatan: Hej "Edvard", hur mår du?

skriv("Hej "Edvard", hur mår du?")

Utdata

Hej , hur mår du?

Det blev fel! Man måste fly citationstecken.

Exempel 2

Här förväntar vi oss samma som i exempel 1.

skriv("Hej \"Edvard\", hur mår du?")

Utdata

Hej "Edvard", hur mår du?

Nu blev det rätt!