{
    "componentChunkName": "component---src-templates-course-content-template-js",
    "path": "/osa-3/2-behandla-strangar",
    "result": {"data":{"page":{"htmlAst":{"type":"element","tagName":"div","properties":{},"children":[{"type":"element","tagName":"text-box","properties":{"variant":"learningObjectives","name":"Lärandemål"},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Efter den här delen"}]},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"kan du använda operatorerna "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"+"}]},{"type":"text","value":" och "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"*"}]},{"type":"text","value":" med strängar"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"vet du hur man tar reda på längden hos en sträng"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"vet du vad strängindexering betyder"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"kan du hitta en delsträng i en sträng."}]},{"type":"text","value":"\n"}]}]},{"type":"element","tagName":"h2","properties":{"id":"strangoperationer","style":"position:relative;"},"children":[{"type":"text","value":"Strängoperationer"},{"type":"element","tagName":"a","properties":{"href":"#strangoperationer","ariaLabel":"strangoperationer permalink","className":["anchor","after"]},"children":[{"type":"element","tagName":"svg","properties":{"ariaHidden":"true","focusable":"false","height":"16","version":"1.1","viewBox":"0 0 16 16","width":"16"},"children":[{"type":"element","tagName":"path","properties":{"fillRule":"evenodd","d":"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"},"children":[]}]}]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Strängar kan kombineras med "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"+"}]},{"type":"text","value":"-operatorn:"}]},{"type":"element","tagName":"div","properties":{"className":["gatsby-highlight"],"dataLanguage":"python"},"children":[{"type":"element","tagName":"pre","properties":{"className":["language-python"]},"children":[{"type":"element","tagName":"code","properties":{"className":["language-python"]},"children":[{"type":"text","value":"start "},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","string"]},"children":[{"type":"text","value":"\"exe\""}]},{"type":"text","value":"\nslut "},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","string"]},"children":[{"type":"text","value":"\"mpel\""}]},{"type":"text","value":"\n"},{"type":"element","tagName":"span","properties":{"className":["token","builtin"]},"children":[{"type":"text","value":"ord"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" start"},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":"+"}]},{"type":"text","value":"slut\n"},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"print"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","builtin"]},"children":[{"type":"text","value":"ord"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]}]}]}]},{"type":"element","tagName":"sample-output","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"exempel"}]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Operatorn "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"*"}]},{"type":"text","value":" kan också användas med strängar då den andra operanden är ett heltal. Strängoperanden kommer då att upprepas det antal gånger som specificeras av heltalet. Till exempel så här:"}]},{"type":"element","tagName":"div","properties":{"className":["gatsby-highlight"],"dataLanguage":"python"},"children":[{"type":"element","tagName":"pre","properties":{"className":["language-python"]},"children":[{"type":"element","tagName":"code","properties":{"className":["language-python"]},"children":[{"type":"element","tagName":"span","properties":{"className":["token","builtin"]},"children":[{"type":"text","value":"ord"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","string"]},"children":[{"type":"text","value":"\"pegas\""}]},{"type":"text","value":"\n"},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"print"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","builtin"]},"children":[{"type":"text","value":"ord"}]},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":"*"}]},{"type":"element","tagName":"span","properties":{"className":["token","number"]},"children":[{"type":"text","value":"3"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]}]}]}]},{"type":"element","tagName":"sample-output","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"pegaspegaspegas"}]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Genom att kombinera strängoperationer med en loop kan vi skriva ett program som ritar en pyramid:"}]},{"type":"element","tagName":"div","properties":{"className":["gatsby-highlight"],"dataLanguage":"python"},"children":[{"type":"element","tagName":"pre","properties":{"className":["language-python"]},"children":[{"type":"element","tagName":"code","properties":{"className":["language-python"]},"children":[{"type":"text","value":"n "},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","number"]},"children":[{"type":"text","value":"10"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","comment"]},"children":[{"type":"text","value":"# våningar i pyramiden"}]},{"type":"text","value":"\nrad "},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","string"]},"children":[{"type":"text","value":"\"*\""}]},{"type":"text","value":"\n\n"},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"while"}]},{"type":"text","value":" n "},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":">"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":"\n    "},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"print"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","string"]},"children":[{"type":"text","value":"\" \""}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":"*"}]},{"type":"text","value":" n "},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":"+"}]},{"type":"text","value":" rad"},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n    rad "},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":"+="}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","string"]},"children":[{"type":"text","value":"\"**\""}]},{"type":"text","value":"\n    n "},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":"-="}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]}]}]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Så här ser utskriften ut:"}]},{"type":"element","tagName":"div","properties":{"className":["gatsby-highlight"],"dataLanguage":"text"},"children":[{"type":"element","tagName":"pre","properties":{"className":["language-text"]},"children":[{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"          *\n         ***\n        *****\n       *******\n      *********\n     ***********\n    *************\n   ***************\n  *****************\n *******************"}]}]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Instruktionen "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"print"}]},{"type":"text","value":" inom loopen skriver ut en rad som börjar med "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"n"}]},{"type":"text","value":" mellanslag följt av värdet som är lagrat i variabeln "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"rad"}]},{"type":"text","value":". Sedan läggs två stjärnor till i slutet av variabeln "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"rad"}]},{"type":"text","value":" och variabeln "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"n"}]},{"type":"text","value":":s värde minskas med ett."}]},{"type":"element","tagName":"in-browser-programming-exercise","properties":{"name":"Flera strängar","tmcname":"osa03-05a_flera_strangar"},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Skapa ett program som ber användaren ange en sträng samt ett antal. Programmet ska sedan skriva ut strängen så många gången som antalet anger, enligt följande exempel:"}]},{"type":"element","tagName":"sample-output","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Ange sträng: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"origami"}]},{"type":"text","value":"\nAnge antal: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"2"}]},{"type":"text","value":"\norigamiorigami"}]}]}]},{"type":"element","tagName":"h2","properties":{"id":"langden-pa-en-strang-och-dess-index","style":"position:relative;"},"children":[{"type":"text","value":"Längden på en sträng och dess index"},{"type":"element","tagName":"a","properties":{"href":"#langden-pa-en-strang-och-dess-index","ariaLabel":"langden pa en strang och dess index permalink","className":["anchor","after"]},"children":[{"type":"element","tagName":"svg","properties":{"ariaHidden":"true","focusable":"false","height":"16","version":"1.1","viewBox":"0 0 16 16","width":"16"},"children":[{"type":"element","tagName":"path","properties":{"fillRule":"evenodd","d":"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"},"children":[]}]}]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Funktionen "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"len"}]},{"type":"text","value":" returnerar antalet tecken i en sträng som ett heltal. Till exempel returnerar "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"len(\"hej\")"}]},{"type":"text","value":" 3 eftersom det finns tre tecken i strängen "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"hej"}]},{"type":"text","value":"."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Följande program ber användaren att mata in en sträng och skriver sedan ut det \"understrykt\". Programmet skriver alltså ut en andra rad som innehåller så många streck ("},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"-"}]},{"type":"text","value":") som det finns tecken i den givna strängen:"}]},{"type":"element","tagName":"div","properties":{"className":["gatsby-highlight"],"dataLanguage":"python"},"children":[{"type":"element","tagName":"pre","properties":{"className":["language-python"]},"children":[{"type":"element","tagName":"code","properties":{"className":["language-python"]},"children":[{"type":"text","value":"strang "},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","builtin"]},"children":[{"type":"text","value":"input"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","string"]},"children":[{"type":"text","value":"\"Ange sträng: \""}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"print"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"strang"},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"print"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","string"]},"children":[{"type":"text","value":"\"-\""}]},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":"*"}]},{"type":"element","tagName":"span","properties":{"className":["token","builtin"]},"children":[{"type":"text","value":"len"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"strang"},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]}]}]}]},{"type":"element","tagName":"sample-output","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Ange sträng: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"Hejsan svejsan!"}]}]},{"type":"element","tagName":"pre","properties":{},"children":[{"type":"text","value":"Hejsan svejsan!\n---------------\n"}]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Strängens längd innehåller alla tecken i strängen – också mellanslag. Till exempel är längden på strängen "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"hej igen"}]},{"type":"text","value":" 8."}]},{"type":"element","tagName":"in-browser-programming-exercise","properties":{"name":"Den längre strängen","tmcname":"osa03-05b_langre_strangen"},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Skapa ett program som ber användaren mata in två strängar. Programmet ska skriva ut den längre strängen. Om båda är lika långa skrivs meddelandet \"Strängarna är lika långa\" ut."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Exempel:"}]},{"type":"element","tagName":"sample-output","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Ange sträng 1: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"nja"}]},{"type":"text","value":"\nAnge sträng 2: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"betongsäck"}]},{"type":"text","value":"\nbetongsäck är längre"}]}]},{"type":"element","tagName":"sample-output","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Ange sträng 1: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"sommartider hej hej"}]},{"type":"text","value":"\nAnge sträng 2: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"sol, vind o vatten"}]},{"type":"text","value":"\nsommartider hej hej är längre"}]}]},{"type":"element","tagName":"sample-output","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Ange sträng 1: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"glasgolv"}]},{"type":"text","value":"\nAnge sträng 2: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"vildsvin"}]},{"type":"text","value":"\nSträngarna är lika långa"}]}]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Eftersom strängar i grunden är sekvenser av tecken kan vi också plocka ut enskilda tecken ur en sträng. Vi gör det med hjälp av operatorn "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"[]"}]},{"type":"text","value":" och ett index."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Indexet hänvisar till en given position i strängen, och indexeringen börjar från 0. Det första tecknet i en sträng har alltså indexet 0, medan nästa tecken har indexet 1 och så vidare."}]},{"type":"element","tagName":"span","properties":{"className":["gatsby-resp-image-wrapper"],"style":"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 324px; margin-bottom: 1rem;"},"children":[{"type":"text","value":"\n      "},{"type":"element","tagName":"a","properties":{"className":["gatsby-resp-image-link"],"href":"/static/e116e9f21180d2fb703bd8819378c8ad/67580/3_2_1.png","style":"display: block","target":"_blank","rel":["noopener"]},"children":[{"type":"text","value":"\n    "},{"type":"element","tagName":"span","properties":{"className":["gatsby-resp-image-background-image"],"style":"padding-bottom: 30.869565217391305%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAAAsTAAALEwEAmpwYAAABB0lEQVQY021RCW6DMBDk/38jqBym4CpgjpSGBExtLnNMZaO0qsRIa69m5dnR2Op7iWuSIGMMURThfq+xLAuKosB7SBBFMXzfQ8pSM9PY9/20NKx5nvEtBKQUuJUlmqY1Qy1a13cjkucZ2pYb7iV4Bs1b+hiHAUJKKLX8Dqdp+vd43bY/ft+hlMKyKKzraha9llnjOCAkAWzbxjVJDanmGb4fQAiBqqrQ8RYpY+CcI8tzNM0TjGV4PGp8Vl+4lQXyvDgEz6xrEcdx8EEpSBgiDAn8gICQAK7rwfM82JcLKI3x5rqglCKOY+PeOgtW56rd6Q+TUppbR3L0PbquA+860wtx8Lq2bcMPpH/Jsen448cAAAAASUVORK5CYII='); background-size: cover; display: block;"},"children":[]},{"type":"text","value":"\n  "},{"type":"element","tagName":"picture","properties":{},"children":[{"type":"text","value":"\n          "},{"type":"element","tagName":"source","properties":{"srcSet":["/static/e116e9f21180d2fb703bd8819378c8ad/a0b58/3_2_1.webp 230w","/static/e116e9f21180d2fb703bd8819378c8ad/4e123/3_2_1.webp 324w"],"sizes":"(max-width: 324px) 100vw, 324px","type":"image/webp"},"children":[]},{"type":"text","value":"\n          "},{"type":"element","tagName":"source","properties":{"srcSet":["/static/e116e9f21180d2fb703bd8819378c8ad/81c8e/3_2_1.png 230w","/static/e116e9f21180d2fb703bd8819378c8ad/67580/3_2_1.png 324w"],"sizes":"(max-width: 324px) 100vw, 324px","type":"image/png"},"children":[]},{"type":"text","value":"\n          "},{"type":"element","tagName":"img","properties":{"className":["gatsby-resp-image-image"],"src":"/static/e116e9f21180d2fb703bd8819378c8ad/67580/3_2_1.png","alt":"3 2 1","title":"3 2 1","loading":"lazy","decoding":"async","style":"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;"},"children":[]},{"type":"text","value":"\n        "}]},{"type":"text","value":"\n  "}]},{"type":"text","value":"\n    "}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Det här programmet…"}]},{"type":"element","tagName":"div","properties":{"className":["gatsby-highlight"],"dataLanguage":"python"},"children":[{"type":"element","tagName":"pre","properties":{"className":["language-python"]},"children":[{"type":"element","tagName":"code","properties":{"className":["language-python"]},"children":[{"type":"text","value":"strang "},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","builtin"]},"children":[{"type":"text","value":"input"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","string"]},"children":[{"type":"text","value":"\"Ange sträng: \""}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"print"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"strang"},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tagName":"span","properties":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"print"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"strang"},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tagName":"span","properties":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"print"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"strang"},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tagName":"span","properties":{"className":["token","number"]},"children":[{"type":"text","value":"3"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]}]}]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"…skulle skriva ut följande:"}]},{"type":"element","tagName":"sample-output","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Ange sträng: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"pegas"}]},{"type":"text","value":"\np\ne\na"}]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Eftersom det första tecknet i en sträng har indexet noll, har det sista tecknet indexet längd-1. Följande program skriver ut det första och sista tecknet i en sträng:"}]},{"type":"element","tagName":"div","properties":{"className":["gatsby-highlight"],"dataLanguage":"python"},"children":[{"type":"element","tagName":"pre","properties":{"className":["language-python"]},"children":[{"type":"element","tagName":"code","properties":{"className":["language-python"]},"children":[{"type":"text","value":"strang "},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","builtin"]},"children":[{"type":"text","value":"input"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","string"]},"children":[{"type":"text","value":"\"Ange sträng: \""}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"print"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","string"]},"children":[{"type":"text","value":"\"Första: \""}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":"+"}]},{"type":"text","value":" strang"},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tagName":"span","properties":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"print"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","string"]},"children":[{"type":"text","value":"\"Sista: \""}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":"+"}]},{"type":"text","value":" strang"},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tagName":"span","properties":{"className":["token","builtin"]},"children":[{"type":"text","value":"len"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"strang"},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":"-"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]}]}]}]},{"type":"element","tagName":"sample-output","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Ange sträng: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"test!"}]},{"type":"text","value":"\nFörsta: t\nSista: !"}]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Det här programmet går igenom varje tecken i en sträng – från det första till det sista:"}]},{"type":"element","tagName":"div","properties":{"className":["gatsby-highlight"],"dataLanguage":"python"},"children":[{"type":"element","tagName":"pre","properties":{"className":["language-python"]},"children":[{"type":"element","tagName":"code","properties":{"className":["language-python"]},"children":[{"type":"text","value":"strang "},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","builtin"]},"children":[{"type":"text","value":"input"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","string"]},"children":[{"type":"text","value":"\"Ange sträng: \""}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\nplats "},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"while"}]},{"type":"text","value":" plats "},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":"<"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","builtin"]},"children":[{"type":"text","value":"len"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"strang"},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":"\n    "},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"print"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"strang"},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"plats"},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n    plats "},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":"+="}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]}]}]}]},{"type":"element","tagName":"sample-output","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Ange sträng: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"test"}]},{"type":"text","value":"\nt\ne\ns\nt"}]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Man kan också använda negativa index för att komma åt tecknen i en sträng i motsatt ordning, dvs. från slutet av strängen."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Det sista tecknet i en sträng har då indexet -1, det näst sista indexet -2 och så vidare. Du kan tänka att "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"str[-1]"}]},{"type":"text","value":" är en genväg för "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"str[len(str) – 1]"}]},{"type":"text","value":"."}]},{"type":"element","tagName":"span","properties":{"className":["gatsby-resp-image-wrapper"],"style":"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 324px; margin-bottom: 1rem;"},"children":[{"type":"text","value":"\n      "},{"type":"element","tagName":"a","properties":{"className":["gatsby-resp-image-link"],"href":"/static/d5705c6b55a5f47c3372f8565bccdff6/67580/3_2_2.png","style":"display: block","target":"_blank","rel":["noopener"]},"children":[{"type":"text","value":"\n    "},{"type":"element","tagName":"span","properties":{"className":["gatsby-resp-image-background-image"],"style":"padding-bottom: 30.869565217391305%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAAAsTAAALEwEAmpwYAAAA9UlEQVQY03VQDU+DMBTk//80EqeCttJSijC3lTKtQFapgTMtjhAzL3m9S/t67yOy9oKikHjb78EYR9u2cM7heDhA5Dk456CUQpavUKqBxzzPN8MjcuOID2PQ9x2qqoLWGtM8YxxHNEoFYykltF4KXQ3/48gf387hYi2macIVW71g+eRNvfKNYMu/xaIva/FCKeI4BuN8fazrGkopCCFwPJ1Qhi41CpGj0S1KWaA9vyPnPEzo84MhbsAb7XZ3yIUAIRScZUjSFISQwGmShHvy/IT7h0dwxpBlGay1y8h/F+v313UdhmFYue/7NYwxMOYz6G2eX9MPf7zJPqGusD4AAAAASUVORK5CYII='); background-size: cover; display: block;"},"children":[]},{"type":"text","value":"\n  "},{"type":"element","tagName":"picture","properties":{},"children":[{"type":"text","value":"\n          "},{"type":"element","tagName":"source","properties":{"srcSet":["/static/d5705c6b55a5f47c3372f8565bccdff6/a0b58/3_2_2.webp 230w","/static/d5705c6b55a5f47c3372f8565bccdff6/4e123/3_2_2.webp 324w"],"sizes":"(max-width: 324px) 100vw, 324px","type":"image/webp"},"children":[]},{"type":"text","value":"\n          "},{"type":"element","tagName":"source","properties":{"srcSet":["/static/d5705c6b55a5f47c3372f8565bccdff6/81c8e/3_2_2.png 230w","/static/d5705c6b55a5f47c3372f8565bccdff6/67580/3_2_2.png 324w"],"sizes":"(max-width: 324px) 100vw, 324px","type":"image/png"},"children":[]},{"type":"text","value":"\n          "},{"type":"element","tagName":"img","properties":{"className":["gatsby-resp-image-image"],"src":"/static/d5705c6b55a5f47c3372f8565bccdff6/67580/3_2_2.png","alt":"3 2 2","title":"3 2 2","loading":"lazy","decoding":"async","style":"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;"},"children":[]},{"type":"text","value":"\n        "}]},{"type":"text","value":"\n  "}]},{"type":"text","value":"\n    "}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Det föregående exemplet kan därmed förenklas med negativ indexering."}]},{"type":"element","tagName":"div","properties":{"className":["gatsby-highlight"],"dataLanguage":"python"},"children":[{"type":"element","tagName":"pre","properties":{"className":["language-python"]},"children":[{"type":"element","tagName":"code","properties":{"className":["language-python"]},"children":[{"type":"text","value":"strang "},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","builtin"]},"children":[{"type":"text","value":"input"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","string"]},"children":[{"type":"text","value":"\"Ange sträng: \""}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"print"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","string"]},"children":[{"type":"text","value":"\"Första: \""}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":"+"}]},{"type":"text","value":" strang"},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tagName":"span","properties":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"print"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","string"]},"children":[{"type":"text","value":"\"Sista: \""}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":"+"}]},{"type":"text","value":" strang"},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":"-"}]},{"type":"element","tagName":"span","properties":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]}]}]}]},{"type":"element","tagName":"sample-output","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Ange sträng: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"test!"}]},{"type":"text","value":"\nFörsta: t\nSista: !"}]}]},{"type":"element","tagName":"h2","properties":{"id":"indexerror-string-index-out-of-range","style":"position:relative;"},"children":[{"type":"text","value":"IndexError: string index out of range"},{"type":"element","tagName":"a","properties":{"href":"#indexerror-string-index-out-of-range","ariaLabel":"indexerror string index out of range permalink","className":["anchor","after"]},"children":[{"type":"element","tagName":"svg","properties":{"ariaHidden":"true","focusable":"false","height":"16","version":"1.1","viewBox":"0 0 16 16","width":"16"},"children":[{"type":"element","tagName":"path","properties":{"fillRule":"evenodd","d":"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"},"children":[]}]}]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Om du har testat exemplen ovan har du kanske stött på felmeddelandet "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"IndexError"}]},{"type":"text","value":". Det här felet uppstår då du försöker använda ett index som inte finns i en sträng."}]},{"type":"element","tagName":"div","properties":{"className":["gatsby-highlight"],"dataLanguage":"python"},"children":[{"type":"element","tagName":"pre","properties":{"className":["language-python"]},"children":[{"type":"element","tagName":"code","properties":{"className":["language-python"]},"children":[{"type":"text","value":"strang "},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","builtin"]},"children":[{"type":"text","value":"input"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","string"]},"children":[{"type":"text","value":"\"Ange sträng: \""}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"print"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","string"]},"children":[{"type":"text","value":"\"Tionde tecknet: \""}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":"+"}]},{"type":"text","value":" strang"},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tagName":"span","properties":{"className":["token","number"]},"children":[{"type":"text","value":"9"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]}]}]}]},{"type":"element","tagName":"sample-output","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Ange sträng: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"introkursen i programmering"}]},{"type":"text","value":"\nTionde tecknet: e"}]}]},{"type":"element","tagName":"sample-output","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Ange sträng: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"python"}]}]},{"type":"element","tagName":"div","properties":{},"children":[{"type":"text","value":"Traceback (most recent call last):\nFile \""},{"type":"element","tagName":"stdin","properties":{},"children":[{"type":"text","value":"\", line 1, in "},{"type":"element","tagName":"module","properties":{},"children":[{"type":"text","value":"\nIndexError: string index out of range"}]}]}]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Ibland orsakas indexeringsfel av en bugg i koden. Det är till exempel relativt vanligt att man försöker komma åt ett index som inte finns när man försöker komma åt det sista tecknet i en sträng:"}]},{"type":"element","tagName":"div","properties":{"className":["gatsby-highlight"],"dataLanguage":"python"},"children":[{"type":"element","tagName":"pre","properties":{"className":["language-python"]},"children":[{"type":"element","tagName":"code","properties":{"className":["language-python"]},"children":[{"type":"text","value":"strang "},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","builtin"]},"children":[{"type":"text","value":"input"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","string"]},"children":[{"type":"text","value":"\"Ange sträng: \""}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"print"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","string"]},"children":[{"type":"text","value":"\"Sista tecknet: \""}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":"+"}]},{"type":"text","value":" strang"},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tagName":"span","properties":{"className":["token","builtin"]},"children":[{"type":"text","value":"len"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"strang"},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]}]}]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Eftersom strängindexeringen börjar med noll kommer det sista tecknet att ha indexet "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"len(str) - 1"}]},{"type":"text","value":"."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Det finns situationer där programmet borde förbereda sig för fel orsakade av indata från användaren:"}]},{"type":"element","tagName":"div","properties":{"className":["gatsby-highlight"],"dataLanguage":"python"},"children":[{"type":"element","tagName":"pre","properties":{"className":["language-python"]},"children":[{"type":"element","tagName":"code","properties":{"className":["language-python"]},"children":[{"type":"text","value":"strang "},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","builtin"]},"children":[{"type":"text","value":"input"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","string"]},"children":[{"type":"text","value":"\"Ange sträng: \""}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","builtin"]},"children":[{"type":"text","value":"len"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"strang"},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":">"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":"\n    "},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"print"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","string"]},"children":[{"type":"text","value":"\"Första tecknet: \""}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":"+"}]},{"type":"text","value":" strang"},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tagName":"span","properties":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"else"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":"\n    "},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"print"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","string"]},"children":[{"type":"text","value":"\"Strängen är tom, alltså finns det inget första tecken\""}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]}]}]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"I exemplet ovan skulle en sträng med längden noll ha orsakat problem om programmeraren inte skulle ha lagt till en längdkontroll i koden. En sträng med längden noll är en tom sträng. En inmatning blir en tom sträng om användaren inte skriver in något utan direkt trycker Enter."}]},{"type":"element","tagName":"in-browser-programming-exercise","properties":{"name":"Omvänt","tmcname":"osa03-05c_omvant"},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Skapa ett program som ber användaren mata in en sträng. Programmet ska sedan skriva ut tecknen i omvänd ordning på varsin rad."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Exempel:"}]},{"type":"element","tagName":"sample-output","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Ange sträng: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"geting"}]},{"type":"text","value":"\ng\nn\ni\nt\ne\ng"}]}]}]},{"type":"element","tagName":"in-browser-programming-exercise","properties":{"name":"Andra och näst sista","tmcname":"osa03-06_andra_nast_sista"},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Skapa ett program som ber användaren mata in ett ord. Programmet ska därefter berätta om ordets andra och nästsista bokstäver är de samma."}]},{"type":"element","tagName":"sample-output","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Ange ett ord: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"python"}]},{"type":"text","value":"\nDen andra och den nästsista bokstaven skiljer sig från varandra"}]}]},{"type":"element","tagName":"sample-output","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Ange ett ord: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"pascal"}]},{"type":"text","value":"\nDen andra och den nästsista bokstaven är a"}]}]}]},{"type":"element","tagName":"in-browser-programming-exercise","properties":{"name":"Speciellt streck","tmcname":"osa03-09_speciellt_streck"},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Skapa ett program som ritar ut ett streck bestående av så många hashtags ("},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"#"}]},{"type":"text","value":") som användaren anger."}]},{"type":"element","tagName":"sample-output","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Bredd: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"3"}]}]},{"type":"element","tagName":"pre","properties":{},"children":[{"type":"text","value":"###\n"}]}]},{"type":"element","tagName":"sample-output","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Bredd: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"8"}]}]},{"type":"element","tagName":"pre","properties":{},"children":[{"type":"text","value":"########\n"}]}]}]},{"type":"element","tagName":"in-browser-programming-exercise","properties":{"name":"Fyrkant","tmcname":"osa03-10_fyrkant"},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Utveckla det föregående programmet så att användaren också kan definiera höjden på figuren."}]},{"type":"element","tagName":"sample-output","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Bredd: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"10"}]},{"type":"text","value":"\nHöjd: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"3"}]},{"type":"text","value":"\n##########\n##########\n##########"}]}]}]},{"type":"element","tagName":"in-browser-programming-exercise","properties":{"name":"Understrykning","tmcname":"osa03-11_understrykning"},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Skapa ett program som ber användaren mata in strängar. Programmet skriver sedan ut strängarna med understrykning enligt exemplet. Programmet avslutas då användaren ger en tom sträng, dvs. en sträng med längden noll."}]},{"type":"element","tagName":"sample-output","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Ange sträng: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"Hejsan svejsan!"}]}]},{"type":"element","tagName":"pre","properties":{},"children":[{"type":"text","value":"Hejsan svejsan!\n---------------\n"}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Ange sträng: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"Clara steg upp på en tremetersstege"}]}]},{"type":"element","tagName":"pre","properties":{},"children":[{"type":"text","value":"Clara steg upp på en tremetersstege\n-----------------------------------\n"}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Ange sträng: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"a"}]}]},{"type":"element","tagName":"pre","properties":{},"children":[{"type":"text","value":"a\n-\n"}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Ange sträng:"}]}]}]},{"type":"element","tagName":"in-browser-programming-exercise","properties":{"name":"Högerjusterat","tmcname":"osa03-12_hogerjusterat"},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Skapa ett program som ber användaren mata in en sträng. Programmet ska sedan skriva ut strängen så att utskriften är exakt 20 tecken lång. Om strängen är kortare ska det finnas ett passligt antal asterisker ("},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"*"}]},{"type":"text","value":") i början av strängen."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Du kan anta att strängen består av högst 20 tecken."}]},{"type":"element","tagName":"sample-output","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Ord: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"python"}]}]},{"type":"element","tagName":"pre","properties":{},"children":[{"type":"text","value":"**************python\n"}]}]},{"type":"element","tagName":"sample-output","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Ord: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"ganskalångsträng"}]}]},{"type":"element","tagName":"pre","properties":{},"children":[{"type":"text","value":"****ganskalångsträng\n"}]}]},{"type":"element","tagName":"sample-output","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Ord: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"sssuperlångstränggg"}]}]},{"type":"element","tagName":"pre","properties":{},"children":[{"type":"text","value":"*sssuperlångstränggg\n"}]}]}]},{"type":"element","tagName":"in-browser-programming-exercise","properties":{"name":"Ordlåda","tmcname":"osa03-13_ordlada"},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Skapa ett program som ber användaren mata in ett ord. Programmet ska sedan skriva ut ordet i mitten av en ram som består av asterisker. Bredden av ramen är 30 tecken. Du kan anta att ordet som anges ryms i ramen."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Om ordets längd är udda, kan du skriva ut det så att det ligger i mitten."}]},{"type":"element","tagName":"sample-output","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Ord: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"aj!"}]}]},{"type":"element","tagName":"pre","properties":{},"children":[{"type":"text","value":"******************************\n*            aj!             *\n******************************\n"}]}]},{"type":"element","tagName":"sample-output","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Ord: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"python"}]}]},{"type":"element","tagName":"pre","properties":{},"children":[{"type":"text","value":"******************************\n*           python           *\n******************************\n"}]}]}]},{"type":"element","tagName":"h2","properties":{"id":"delstrangar","style":"position:relative;"},"children":[{"type":"text","value":"Delsträngar"},{"type":"element","tagName":"a","properties":{"href":"#delstrangar","ariaLabel":"delstrangar permalink","className":["anchor","after"]},"children":[{"type":"element","tagName":"svg","properties":{"ariaHidden":"true","focusable":"false","height":"16","version":"1.1","viewBox":"0 0 16 16","width":"16"},"children":[{"type":"element","tagName":"path","properties":{"fillRule":"evenodd","d":"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"},"children":[]}]}]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"En delsträng är en sekvens av tecken som utgör en del av den ursprungliga strängen. Till exempel innehåller strängen "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"exempel"}]},{"type":"text","value":"  delsträngarna "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"exem"}]},{"type":"text","value":", "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"mpe"}]},{"type":"text","value":", "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"el"}]},{"type":"text","value":" med flera. Att i Python ta ut en delsträng ur en sträng kallas för slicing."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Om du vet vad det inledande och avslutande indexet för en delsträng är, kan du extrahera (slice) delsträngen med notationen "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"[a:b]"}]},{"type":"text","value":". Då kommer delsträngen att börja vid index "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"a"}]},{"type":"text","value":" och ta slut vid det sista tecknet före indexet "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"b"}]},{"type":"text","value":" – det vill säga inklusive den första bokstaven men exklusive den sista. Du kan tänka att indexen är streck ritade på den vänstra sidan av det indexerade tecknet – som vi illustrerar nedan:"}]},{"type":"element","tagName":"span","properties":{"className":["gatsby-resp-image-wrapper"],"style":"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 324px; margin-bottom: 1rem;"},"children":[{"type":"text","value":"\n      "},{"type":"element","tagName":"a","properties":{"className":["gatsby-resp-image-link"],"href":"/static/08007c903384a23f941bcd08cdb88343/67580/3_2_3.png","style":"display: block","target":"_blank","rel":["noopener"]},"children":[{"type":"text","value":"\n    "},{"type":"element","tagName":"span","properties":{"className":["gatsby-resp-image-background-image"],"style":"padding-bottom: 37.391304347826086%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAHCAYAAAAIy204AAAACXBIWXMAAAsTAAALEwEAmpwYAAABW0lEQVQoz3WRwW7aQBRF53+6yoaq60hdkf5QfyR/0P5CF92GKgkoBpIaiPF4YgV7jD0GBxsM5kQ2CVXS9kpP83RHc959GrHb7UiNYbVaEUUReZ5TlluybMk8jtFRxHxeV9x4r9rv9/xLoigKhoM+vu/T6XQYjcYslhlhMOPecbi5seheXWL1BwTBjE25aYa/Qv9U4xyAk8mYIAjo9XpYlsXjLMCdTtDzBGMM221JnMT86lzQ7V6TGPMCrN5Am4TvI6/X62NfVdXLQ96c/1MNFWW5QSmvSTZ13eNlGIYU65zlsoZ+R+sP7PmE1i2qqkUYttiWH0nMCUX+gyjKDwnrTzFJ0qysddSYWZYx6PeZuvdImeD7X7m9FTw8CIZDgfIEd78FnhTYtkDKc2z7kaenxd8r10rTFMdxUEoi3QBPfcNxTlHqC6NxG+m2sUdtPHnG1P2M7//EU5rFIuUZIHMCtnQB98YAAAAASUVORK5CYII='); background-size: cover; display: block;"},"children":[]},{"type":"text","value":"\n  "},{"type":"element","tagName":"picture","properties":{},"children":[{"type":"text","value":"\n          "},{"type":"element","tagName":"source","properties":{"srcSet":["/static/08007c903384a23f941bcd08cdb88343/a0b58/3_2_3.webp 230w","/static/08007c903384a23f941bcd08cdb88343/4e123/3_2_3.webp 324w"],"sizes":"(max-width: 324px) 100vw, 324px","type":"image/webp"},"children":[]},{"type":"text","value":"\n          "},{"type":"element","tagName":"source","properties":{"srcSet":["/static/08007c903384a23f941bcd08cdb88343/81c8e/3_2_3.png 230w","/static/08007c903384a23f941bcd08cdb88343/67580/3_2_3.png 324w"],"sizes":"(max-width: 324px) 100vw, 324px","type":"image/png"},"children":[]},{"type":"text","value":"\n          "},{"type":"element","tagName":"img","properties":{"className":["gatsby-resp-image-image"],"src":"/static/08007c903384a23f941bcd08cdb88343/67580/3_2_3.png","alt":"3 2 3","title":"3 2 3","loading":"lazy","decoding":"async","style":"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;"},"children":[]},{"type":"text","value":"\n        "}]},{"type":"text","value":"\n  "}]},{"type":"text","value":"\n    "}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Låt oss kika lite mer på extraherade (sliced) strängar:"}]},{"type":"element","tagName":"div","properties":{"className":["gatsby-highlight"],"dataLanguage":"python"},"children":[{"type":"element","tagName":"pre","properties":{"className":["language-python"]},"children":[{"type":"element","tagName":"code","properties":{"className":["language-python"]},"children":[{"type":"text","value":"strang "},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","string"]},"children":[{"type":"text","value":"\"glassbil\""}]},{"type":"text","value":"\n\n"},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"print"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"strang"},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tagName":"span","properties":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":":"}]},{"type":"element","tagName":"span","properties":{"className":["token","number"]},"children":[{"type":"text","value":"3"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"print"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"strang"},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tagName":"span","properties":{"className":["token","number"]},"children":[{"type":"text","value":"4"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":":"}]},{"type":"element","tagName":"span","properties":{"className":["token","number"]},"children":[{"type":"text","value":"7"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n\n"},{"type":"element","tagName":"span","properties":{"className":["token","comment"]},"children":[{"type":"text","value":"# om inledande index fattas, är det 0"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"print"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"strang"},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":":"}]},{"type":"element","tagName":"span","properties":{"className":["token","number"]},"children":[{"type":"text","value":"3"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n\n"},{"type":"element","tagName":"span","properties":{"className":["token","comment"]},"children":[{"type":"text","value":"# om avslutande index fattas, är det lika med strängens längd"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"print"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"strang"},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tagName":"span","properties":{"className":["token","number"]},"children":[{"type":"text","value":"4"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":":"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]}]}]}]},{"type":"element","tagName":"sample-output","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"gla\nsbi\ngla\nsbil"}]}]},{"type":"element","tagName":"text-box","properties":{"variant":"hint","name":"Halvöppna intervall"},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"I Python är intervallet "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"[a:b]"}]},{"type":"text","value":" halvöppet då vi behandlar strängar. Det här innebär att tecknet i det inledande indexet "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"a"}]},{"type":"text","value":" inkluderas i intervallet medan tecknet i det avslutande indexet "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"b"}]},{"type":"text","value":" lämnas bort. Varför det?"}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Det finns ingen tydlig orsak bakom. Det är helt enkelt en konvention som har sitt ursprung i andra programmeringsspråk."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Halvöppna intervall kan kännas jobbiga men i praktiken har de sina goda sidor. Du kan till exempel enkelt räkna längden på en delsträng med "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"b - a"}]},{"type":"text","value":". Å andra sidan måste du komma ihåg att tecknet i slutet vid indexet "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"b"}]},{"type":"text","value":" inte kommer att inkluderas i delsträngen."}]}]},{"type":"element","tagName":"in-browser-programming-exercise","properties":{"name":"Delsträngar 1","tmcname":"osa03-07_delstrangar_1"},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Skapa ett program som ber användaren mata in en sträng. Därefter ska programmet skriva ut alla delsträngar med start från det första tecknet, i storleksordning."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Exempel:"}]},{"type":"element","tagName":"sample-output","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Ange sträng: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"test"}]},{"type":"text","value":"\nt\nte\ntes\ntest"}]}]}]},{"type":"element","tagName":"in-browser-programming-exercise","properties":{"name":"Delsträngar 2","tmcname":"osa03-08_delstrangar_2"},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Skapa ett program som ber användaren mata in en sträng. Därefter ska det skriva ut alla delsträngar som slutar med det sista tecknet, i storleksordning."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Exempel:"}]},{"type":"element","tagName":"sample-output","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Ange sträng: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"test"}]},{"type":"text","value":"\nt\nst\nest\ntest"}]}]}]},{"type":"element","tagName":"h2","properties":{"id":"soka-efter-delstrangar","style":"position:relative;"},"children":[{"type":"text","value":"Söka efter delsträngar"},{"type":"element","tagName":"a","properties":{"href":"#soka-efter-delstrangar","ariaLabel":"soka efter delstrangar permalink","className":["anchor","after"]},"children":[{"type":"element","tagName":"svg","properties":{"ariaHidden":"true","focusable":"false","height":"16","version":"1.1","viewBox":"0 0 16 16","width":"16"},"children":[{"type":"element","tagName":"path","properties":{"fillRule":"evenodd","d":"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"},"children":[]}]}]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Operatorn "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"in"}]},{"type":"text","value":" berättar om en sträng innehåller en specifik delsträng. Boolean-uttrycket "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"a in b"}]},{"type":"text","value":" är sant om "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"b"}]},{"type":"text","value":" innehåller delsträngen "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"a"}]},{"type":"text","value":"."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Till exempel skriver den här kodsnutten…"}]},{"type":"element","tagName":"div","properties":{"className":["gatsby-highlight"],"dataLanguage":"python"},"children":[{"type":"element","tagName":"pre","properties":{"className":["language-python"]},"children":[{"type":"element","tagName":"code","properties":{"className":["language-python"]},"children":[{"type":"text","value":"strang "},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","string"]},"children":[{"type":"text","value":"\"test\""}]},{"type":"text","value":"\n\n"},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"print"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","string"]},"children":[{"type":"text","value":"\"t\""}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"in"}]},{"type":"text","value":" strang"},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"print"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","string"]},"children":[{"type":"text","value":"\"x\""}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"in"}]},{"type":"text","value":" strang"},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"print"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","string"]},"children":[{"type":"text","value":"\"est\""}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"in"}]},{"type":"text","value":" strang"},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"print"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","string"]},"children":[{"type":"text","value":"\"ets\""}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"in"}]},{"type":"text","value":" strang"},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]}]}]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"… ut följande:"}]},{"type":"element","tagName":"sample-output","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"True\nFalse\nTrue\nFalse"}]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Programmet nedan låter användaren söka efter delsträngar i en sträng som är hårdkodad i programmet:"}]},{"type":"element","tagName":"div","properties":{"className":["gatsby-highlight"],"dataLanguage":"python"},"children":[{"type":"element","tagName":"pre","properties":{"className":["language-python"]},"children":[{"type":"element","tagName":"code","properties":{"className":["language-python"]},"children":[{"type":"text","value":"strang "},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","string"]},"children":[{"type":"text","value":"\"eu-val\""}]},{"type":"text","value":"\n\n"},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"while"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","boolean"]},"children":[{"type":"text","value":"True"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":"\n    delstrang "},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","builtin"]},"children":[{"type":"text","value":"input"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","string"]},"children":[{"type":"text","value":"\"Vad söker du efter? \""}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n    "},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" delstrang "},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"in"}]},{"type":"text","value":" strang"},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":"\n        "},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"print"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","string"]},"children":[{"type":"text","value":"\"Hittades\""}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n    "},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"else"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":"\n        "},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"print"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","string"]},"children":[{"type":"text","value":"\"Hittades inte\""}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]}]}]}]},{"type":"element","tagName":"sample-output","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Vad söker du efter? "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"eu"}]},{"type":"text","value":"\nHittades\nVad söker du efter? "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"euval"}]},{"type":"text","value":"\nHittades inte\nVad söker du efter? "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"u-v"}]},{"type":"text","value":"\nHittades\n..."}]}]},{"type":"element","tagName":"in-browser-programming-exercise","properties":{"name":"Hittas vokaler?","tmcname":"osa03-13b_vokaler"},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Skapa ett program som ber användaren mata in en sträng. Programmet ska därefter meddela om vokalerna a, e eller o hittas i strängen."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Du kan anta att strängen är angiven i gemener."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Exempel:"}]},{"type":"element","tagName":"sample-output","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Ange sträng: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"hej på dig"}]},{"type":"text","value":"\na hittas inte\ne hittas\no hittas inte"}]}]},{"type":"element","tagName":"sample-output","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Ange sträng: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"morjens"}]},{"type":"text","value":"\na hittas inte\ne hittas\no hittas"}]}]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Operatorn "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"in"}]},{"type":"text","value":" returnerar ett Boolean-värde. Det berättar alltså bara att en delsträng existerar i en sträng, men baserat på den informationen vet vi inte var delsträngen befinner sig. Däremot kan metoden "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"find"}]},{"type":"text","value":" hos strängar användas för det här syftet. Som argument ger man delsträngen som söks efter. Tillbaka får vi ett värde som anger det första indexet där delsträngen hittades – eller "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"-1"}]},{"type":"text","value":" om delsträngen inte hittas i strängen."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Så här fungerar det:"}]},{"type":"element","tagName":"span","properties":{"className":["gatsby-resp-image-wrapper"],"style":"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 227px; margin-bottom: 1rem;"},"children":[{"type":"text","value":"\n      "},{"type":"element","tagName":"a","properties":{"className":["gatsby-resp-image-link"],"href":"/static/b2812ef85c8e7deabfe929f68d397de5/9b5be/3_2_4.png","style":"display: block","target":"_blank","rel":["noopener"]},"children":[{"type":"text","value":"\n    "},{"type":"element","tagName":"span","properties":{"className":["gatsby-resp-image-background-image"],"style":"padding-bottom: 62.11453744493392%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAAAsSAAALEgHS3X78AAABw0lEQVQoz31Ta3OiQBDk//8iP1zKOjwpfMWyBIzIBSQIiDEX5b2B7dQsmEDuLlM1xcxub+9szyDhq3HeuAibb1mWeHJd7B0H7n4Px3EQ+L6I0zT9xHIOiYKe02YL4O0dRVlicX8PRVUxn88hyzKMhwf8lGVEp1ND2GL/Juw40hT89RWIY6AoAMbEGpKkyfNcxPxyAY9jcUbCd0YEnPflqCrUb2+9NU45eV1DusYxbMfBk+fBDwKYu53Ifd9HludYr9cIggA7y4JuGAITtDhN05o8DBFGUfPky/MzPNvGiTY8D79NE6amYbVYoGQMURTB8zzYtg3LsvDnfBbrdIFpWQiOR/C6xjEMG0IqU2iRZcD5TC1tNKL1fxlpd702Z0jbPAd/efnACw0pZFXV6xZjDFVVfTSormvhtM+KAmWagsUxSiLujJmUJAkURcFwOMRkMoFpmuI7Go0wGAxgGEZvJumiX+MxftzdYawoYoQIf5tHiQJd17HZbLDdbjGbzbBarXA4HASooCd+IaRm6JoG+/ER0+kUqqp+EmZZJqogEurscrkUwxu2It/IuoRUAP0truuKKaA8p6ffNPyfdYm6VX6HfwfDLJMCIdxKRgAAAABJRU5ErkJggg=='); background-size: cover; display: block;"},"children":[]},{"type":"text","value":"\n  "},{"type":"element","tagName":"picture","properties":{},"children":[{"type":"text","value":"\n          "},{"type":"element","tagName":"source","properties":{"srcSet":["/static/b2812ef85c8e7deabfe929f68d397de5/7d72c/3_2_4.webp 227w"],"sizes":"(max-width: 227px) 100vw, 227px","type":"image/webp"},"children":[]},{"type":"text","value":"\n          "},{"type":"element","tagName":"source","properties":{"srcSet":["/static/b2812ef85c8e7deabfe929f68d397de5/9b5be/3_2_4.png 227w"],"sizes":"(max-width: 227px) 100vw, 227px","type":"image/png"},"children":[]},{"type":"text","value":"\n          "},{"type":"element","tagName":"img","properties":{"className":["gatsby-resp-image-image"],"src":"/static/b2812ef85c8e7deabfe929f68d397de5/9b5be/3_2_4.png","alt":"3 2 4","title":"3 2 4","loading":"lazy","decoding":"async","style":"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;"},"children":[]},{"type":"text","value":"\n        "}]},{"type":"text","value":"\n  "}]},{"type":"text","value":"\n    "}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Några exempel där vi använder "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"find"}]},{"type":"text","value":":"}]},{"type":"element","tagName":"div","properties":{"className":["gatsby-highlight"],"dataLanguage":"python"},"children":[{"type":"element","tagName":"pre","properties":{"className":["language-python"]},"children":[{"type":"element","tagName":"code","properties":{"className":["language-python"]},"children":[{"type":"text","value":"strang "},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","string"]},"children":[{"type":"text","value":"\"test\""}]},{"type":"text","value":"\n\n"},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"print"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"strang"},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"text","value":"find"},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","string"]},"children":[{"type":"text","value":"\"t\""}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"print"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"strang"},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"text","value":"find"},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","string"]},"children":[{"type":"text","value":"\"x\""}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"print"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"strang"},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"text","value":"find"},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","string"]},"children":[{"type":"text","value":"\"est\""}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"print"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"strang"},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"text","value":"find"},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","string"]},"children":[{"type":"text","value":"\"ets\""}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]}]}]}]},{"type":"element","tagName":"sample-output","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"0\n-1\n1\n-1"}]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Ovanstående delsträngsexempel gjort med "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"find"}]},{"type":"text","value":":"}]},{"type":"element","tagName":"div","properties":{"className":["gatsby-highlight"],"dataLanguage":"python"},"children":[{"type":"element","tagName":"pre","properties":{"className":["language-python"]},"children":[{"type":"element","tagName":"code","properties":{"className":["language-python"]},"children":[{"type":"text","value":"strang "},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","string"]},"children":[{"type":"text","value":"\"led-lampa\""}]},{"type":"text","value":"\n\n"},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"while"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","boolean"]},"children":[{"type":"text","value":"True"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":"\n    delstrang "},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","builtin"]},"children":[{"type":"text","value":"input"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","string"]},"children":[{"type":"text","value":"\"Vad söker du efter? \""}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n    plats "},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" strang"},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"text","value":"find"},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"delstrang"},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n    "},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" plats "},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":">="}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":"\n        "},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"print"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","string-interpolation"]},"children":[{"type":"element","tagName":"span","properties":{"className":["token","string"]},"children":[{"type":"text","value":"f\"Hittades på platsen "}]},{"type":"element","tagName":"span","properties":{"className":["token","interpolation"]},"children":[{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"plats"},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tagName":"span","properties":{"className":["token","string"]},"children":[{"type":"text","value":"\""}]}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n    "},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"else"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":"\n        "},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"print"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","string"]},"children":[{"type":"text","value":"\"Hittades inte\""}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]}]}]}]},{"type":"element","tagName":"sample-output","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Vad söker du efter? "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"ed"}]},{"type":"text","value":"\nHittades på platsen 1\nVad söker du efter? "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"abc"}]},{"type":"text","value":"\nHittades inte\nVad söker du efter? "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"ampa"}]},{"type":"text","value":"\nHittades på platsen 5\n..."}]}]},{"type":"element","tagName":"text-box","properties":{"variant":"hint","name":"Metoder"},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Vi använde ovan metoden "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"find"}]},{"type":"text","value":" hos strängar. Metoder fungerar ganska lika jämfört med funktioner som vi såg på i den föregående modulen. Skillnaden mellan dem är att metoder alltid är kopplade till det objekt som de kallas på. Objektet är den entitet som namnges före metoden som man anropar. I det här fallet är objektet den sträng i vilken vi använder metoden för att söka efter delsträngen. Delsträngen ges som parameter till metoden."}]}]},{"type":"element","tagName":"in-browser-programming-exercise","properties":{"name":"Hitta första delsträngen","tmcname":"osa03-13c_forsta_delstrangen"},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Skapa ett program som ber användaren mata in en sträng samt ett tecken. Programmet ska skriva ut den första delsträngen på tre tecken som börjar med det tecknet användaren angett. Du kan anta att strängen består av minst tre tecken."}]},{"type":"element","tagName":"sample-output","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Ord: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"algeriet"}]},{"type":"text","value":"\nTecken: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"a"}]},{"type":"text","value":"\nalg"}]}]},{"type":"element","tagName":"sample-output","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Ord: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"insändare"}]},{"type":"text","value":"\nTecken: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"n"}]},{"type":"text","value":"\nnsä"}]}]},{"type":"element","tagName":"sample-output","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Ord: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"vindpust"}]},{"type":"text","value":"\nTecken: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"x"}]}]}]},{"type":"element","tagName":"sample-output","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Ord: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"python"}]},{"type":"text","value":"\nTecken: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"n"}]}]}]}]},{"type":"element","tagName":"in-browser-programming-exercise","properties":{"name":"Hitta alla delsträngar","tmcname":"osa03-14_alla_delstrangar"},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Utveckla ditt föregående program, så att programmet skriver ut varje delsträng på tre tecken och som börjar med det angivna tecknet. Du kan anta att den inmatade strängen består av minst tre tecken."}]},{"type":"element","tagName":"sample-output","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Ord: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"ljudlös"}]},{"type":"text","value":"\nTecken: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"l"}]},{"type":"text","value":"\nlju\nlös"}]}]},{"type":"element","tagName":"sample-output","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Ord: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"nemi"}]},{"type":"text","value":"\nTecken: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"n"}]},{"type":"text","value":"\nnem"}]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Tips: Följande exempel kan ge dig inspiration för uppgiften."}]},{"type":"element","tagName":"div","properties":{"className":["gatsby-highlight"],"dataLanguage":"python"},"children":[{"type":"element","tagName":"pre","properties":{"className":["language-python"]},"children":[{"type":"element","tagName":"code","properties":{"className":["language-python"]},"children":[{"type":"element","tagName":"span","properties":{"className":["token","builtin"]},"children":[{"type":"text","value":"ord"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","builtin"]},"children":[{"type":"text","value":"input"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","string"]},"children":[{"type":"text","value":"\"Ord: \""}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"while"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","boolean"]},"children":[{"type":"text","value":"True"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":"\n    "},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","builtin"]},"children":[{"type":"text","value":"len"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","builtin"]},"children":[{"type":"text","value":"ord"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":"=="}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":"\n        "},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"break"}]},{"type":"text","value":"\n    "},{"type":"element","tagName":"span","properties":{"className":["token","keyword"]},"children":[{"type":"text","value":"print"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tagName":"span","properties":{"className":["token","builtin"]},"children":[{"type":"text","value":"ord"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n    "},{"type":"element","tagName":"span","properties":{"className":["token","builtin"]},"children":[{"type":"text","value":"ord"}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tagName":"span","properties":{"className":["token","builtin"]},"children":[{"type":"text","value":"ord"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tagName":"span","properties":{"className":["token","number"]},"children":[{"type":"text","value":"2"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":":"}]},{"type":"element","tagName":"span","properties":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]}]}]}]},{"type":"element","tagName":"sample-output","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Ord: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"solgass"}]},{"type":"text","value":"\nsolgass\nolgass\nlgass\ngass\nass\nss\ns"}]}]}]},{"type":"element","tagName":"in-browser-programming-exercise","properties":{"name":"Andra förekomsten","tmcname":"osa03-15_andra_forekomsten"},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Skapa ett program som söker efter den andra förekomsten av en given delsträng i en sträng. Om delsträngen inte hittas två gånger eller ens en gång, ska programmet meddela om detta."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"I den här kontexten kan delsträngar inte vara överlappande. I strängen "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"aaaa"}]},{"type":"text","value":" hittas delsträngen "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"aa"}]},{"type":"text","value":" för den andra gången vid index 2."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Exempel:"}]},{"type":"element","tagName":"sample-output","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Ange sträng: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"abcabc"}]},{"type":"text","value":"\nAnge delsträng: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"ab"}]},{"type":"text","value":"\nDelsträngens andra förekomst är vid index 3."}]}]},{"type":"element","tagName":"sample-output","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Ange sträng: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"laserpenna"}]},{"type":"text","value":"\nAnge delsträng: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"a"}]},{"type":"text","value":"\nDelsträngens andra förekomst är vid index 9."}]}]},{"type":"element","tagName":"sample-output","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Ange sträng: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"dynga"}]},{"type":"text","value":"\nAnge delsträng: "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"dy"}]},{"type":"text","value":"\nDelsträngen förekommer inte två gånger."}]}]}]},{"type":"element","tagName":"div","properties":{},"children":[{"type":"element","tagName":"quiz","properties":{"id":"762c03de-866b-572b-a4f2-f99e0b6f6c0e"},"children":[]}]}]},"html":"<div><text-box variant='learningObjectives' name='Lärandemål'><p>Efter den här delen</p><ul>\n<li>kan du använda operatorerna <code class=\"language-text\">+</code> och <code class=\"language-text\">*</code> med strängar</li>\n<li>vet du hur man tar reda på längden hos en sträng</li>\n<li>vet du vad strängindexering betyder</li>\n<li>kan du hitta en delsträng i en sträng.</li>\n</ul></text-box><h2 id=\"strangoperationer\" style=\"position:relative;\">Strängoperationer<a href=\"#strangoperationer\" aria-label=\"strangoperationer permalink\" class=\"anchor after\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a></h2><p>Strängar kan kombineras med <code class=\"language-text\">+</code>-operatorn:</p><div class=\"gatsby-highlight\" data-language=\"python\"><pre class=\"language-python\"><code class=\"language-python\">start <span class=\"token operator\">=</span> <span class=\"token string\">\"exe\"</span>\nslut <span class=\"token operator\">=</span> <span class=\"token string\">\"mpel\"</span>\n<span class=\"token builtin\">ord</span> <span class=\"token operator\">=</span> start<span class=\"token operator\">+</span>slut\n<span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span><span class=\"token builtin\">ord</span><span class=\"token punctuation\">)</span></code></pre></div><sample-output><p>exempel</p></sample-output><p>Operatorn <code class=\"language-text\">*</code> kan också användas med strängar då den andra operanden är ett heltal. Strängoperanden kommer då att upprepas det antal gånger som specificeras av heltalet. Till exempel så här:</p><div class=\"gatsby-highlight\" data-language=\"python\"><pre class=\"language-python\"><code class=\"language-python\"><span class=\"token builtin\">ord</span> <span class=\"token operator\">=</span> <span class=\"token string\">\"pegas\"</span>\n<span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span><span class=\"token builtin\">ord</span><span class=\"token operator\">*</span><span class=\"token number\">3</span><span class=\"token punctuation\">)</span></code></pre></div><sample-output><p>pegaspegaspegas</p></sample-output><p>Genom att kombinera strängoperationer med en loop kan vi skriva ett program som ritar en pyramid:</p><div class=\"gatsby-highlight\" data-language=\"python\"><pre class=\"language-python\"><code class=\"language-python\">n <span class=\"token operator\">=</span> <span class=\"token number\">10</span> <span class=\"token comment\"># våningar i pyramiden</span>\nrad <span class=\"token operator\">=</span> <span class=\"token string\">\"*\"</span>\n\n<span class=\"token keyword\">while</span> n <span class=\"token operator\">></span> <span class=\"token number\">0</span><span class=\"token punctuation\">:</span>\n    <span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span><span class=\"token string\">\" \"</span> <span class=\"token operator\">*</span> n <span class=\"token operator\">+</span> rad<span class=\"token punctuation\">)</span>\n    rad <span class=\"token operator\">+=</span> <span class=\"token string\">\"**\"</span>\n    n <span class=\"token operator\">-=</span> <span class=\"token number\">1</span></code></pre></div><p>Så här ser utskriften ut:</p><div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">          *\n         ***\n        *****\n       *******\n      *********\n     ***********\n    *************\n   ***************\n  *****************\n *******************</code></pre></div><p>Instruktionen <code class=\"language-text\">print</code> inom loopen skriver ut en rad som börjar med <code class=\"language-text\">n</code> mellanslag följt av värdet som är lagrat i variabeln <code class=\"language-text\">rad</code>. Sedan läggs två stjärnor till i slutet av variabeln <code class=\"language-text\">rad</code> och variabeln <code class=\"language-text\">n</code>:s värde minskas med ett.</p><in-browser-programming-exercise name=\"Flera strängar\" tmcname=\"osa03-05a_flera_strangar\"><p>Skapa ett program som ber användaren ange en sträng samt ett antal. Programmet ska sedan skriva ut strängen så många gången som antalet anger, enligt följande exempel:</p><sample-output><p>Ange sträng: <strong>origami</strong>\nAnge antal: <strong>2</strong>\norigamiorigami</p></sample-output></in-browser-programming-exercise><h2 id=\"langden-pa-en-strang-och-dess-index\" style=\"position:relative;\">Längden på en sträng och dess index<a href=\"#langden-pa-en-strang-och-dess-index\" aria-label=\"langden pa en strang och dess index permalink\" class=\"anchor after\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a></h2><p>Funktionen <code class=\"language-text\">len</code> returnerar antalet tecken i en sträng som ett heltal. Till exempel returnerar <code class=\"language-text\">len(\"hej\")</code> 3 eftersom det finns tre tecken i strängen <code class=\"language-text\">hej</code>.</p><p>Följande program ber användaren att mata in en sträng och skriver sedan ut det \"understrykt\". Programmet skriver alltså ut en andra rad som innehåller så många streck (<code class=\"language-text\">-</code>) som det finns tecken i den givna strängen:</p><div class=\"gatsby-highlight\" data-language=\"python\"><pre class=\"language-python\"><code class=\"language-python\">strang <span class=\"token operator\">=</span> <span class=\"token builtin\">input</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Ange sträng: \"</span><span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span>strang<span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"-\"</span><span class=\"token operator\">*</span><span class=\"token builtin\">len</span><span class=\"token punctuation\">(</span>strang<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span></code></pre></div><sample-output><p>Ange sträng: <strong>Hejsan svejsan!</strong></p><pre>\nHejsan svejsan!\n---------------\n</pre></sample-output><p>Strängens längd innehåller alla tecken i strängen – också mellanslag. Till exempel är längden på strängen <code class=\"language-text\">hej igen</code> 8.</p><in-browser-programming-exercise name=\"Den längre strängen\" tmcname=\"osa03-05b_langre_strangen\"><p>Skapa ett program som ber användaren mata in två strängar. Programmet ska skriva ut den längre strängen. Om båda är lika långa skrivs meddelandet \"Strängarna är lika långa\" ut.</p><p>Exempel:</p><sample-output><p>Ange sträng 1: <strong>nja</strong>\nAnge sträng 2: <strong>betongsäck</strong>\nbetongsäck är längre</p></sample-output><sample-output><p>Ange sträng 1: <strong>sommartider hej hej</strong>\nAnge sträng 2: <strong>sol, vind o vatten</strong>\nsommartider hej hej är längre</p></sample-output><sample-output><p>Ange sträng 1: <strong>glasgolv</strong>\nAnge sträng 2: <strong>vildsvin</strong>\nSträngarna är lika långa</p></sample-output></in-browser-programming-exercise><p>Eftersom strängar i grunden är sekvenser av tecken kan vi också plocka ut enskilda tecken ur en sträng. Vi gör det med hjälp av operatorn <code class=\"language-text\">[]</code> och ett index.</p><p>Indexet hänvisar till en given position i strängen, och indexeringen börjar från 0. Det första tecknet i en sträng har alltså indexet 0, medan nästa tecken har indexet 1 och så vidare.</p><span class=\"gatsby-resp-image-wrapper\" style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 324px; margin-bottom: 1rem;\">\n      <a class=\"gatsby-resp-image-link\" href=\"/static/e116e9f21180d2fb703bd8819378c8ad/67580/3_2_1.png\" style=\"display: block\" target=\"_blank\" rel=\"noopener\">\n    <span class=\"gatsby-resp-image-background-image\" style=\"padding-bottom: 30.869565217391305%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAAAsTAAALEwEAmpwYAAABB0lEQVQY021RCW6DMBDk/38jqBym4CpgjpSGBExtLnNMZaO0qsRIa69m5dnR2Op7iWuSIGMMURThfq+xLAuKosB7SBBFMXzfQ8pSM9PY9/20NKx5nvEtBKQUuJUlmqY1Qy1a13cjkucZ2pYb7iV4Bs1b+hiHAUJKKLX8Dqdp+vd43bY/ft+hlMKyKKzraha9llnjOCAkAWzbxjVJDanmGb4fQAiBqqrQ8RYpY+CcI8tzNM0TjGV4PGp8Vl+4lQXyvDgEz6xrEcdx8EEpSBgiDAn8gICQAK7rwfM82JcLKI3x5rqglCKOY+PeOgtW56rd6Q+TUppbR3L0PbquA+860wtx8Lq2bcMPpH/Jsen448cAAAAASUVORK5CYII='); background-size: cover; display: block;\"></span>\n  <picture>\n          <source srcset=\"/static/e116e9f21180d2fb703bd8819378c8ad/a0b58/3_2_1.webp 230w,\n/static/e116e9f21180d2fb703bd8819378c8ad/4e123/3_2_1.webp 324w\" sizes=\"(max-width: 324px) 100vw, 324px\" type=\"image/webp\">\n          <source srcset=\"/static/e116e9f21180d2fb703bd8819378c8ad/81c8e/3_2_1.png 230w,\n/static/e116e9f21180d2fb703bd8819378c8ad/67580/3_2_1.png 324w\" sizes=\"(max-width: 324px) 100vw, 324px\" type=\"image/png\">\n          <img class=\"gatsby-resp-image-image\" src=\"/static/e116e9f21180d2fb703bd8819378c8ad/67580/3_2_1.png\" alt=\"3 2 1\" title=\"3 2 1\" loading=\"lazy\" decoding=\"async\" style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\">\n        </picture>\n  </a>\n    </span><p>Det här programmet…</p><div class=\"gatsby-highlight\" data-language=\"python\"><pre class=\"language-python\"><code class=\"language-python\">strang <span class=\"token operator\">=</span> <span class=\"token builtin\">input</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Ange sträng: \"</span><span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span>strang<span class=\"token punctuation\">[</span><span class=\"token number\">0</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span>strang<span class=\"token punctuation\">[</span><span class=\"token number\">1</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span>strang<span class=\"token punctuation\">[</span><span class=\"token number\">3</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">)</span></code></pre></div><p>…skulle skriva ut följande:</p><sample-output><p>Ange sträng: <strong>pegas</strong>\np\ne\na</p></sample-output><p>Eftersom det första tecknet i en sträng har indexet noll, har det sista tecknet indexet längd-1. Följande program skriver ut det första och sista tecknet i en sträng:</p><div class=\"gatsby-highlight\" data-language=\"python\"><pre class=\"language-python\"><code class=\"language-python\">strang <span class=\"token operator\">=</span> <span class=\"token builtin\">input</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Ange sträng: \"</span><span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Första: \"</span> <span class=\"token operator\">+</span> strang<span class=\"token punctuation\">[</span><span class=\"token number\">0</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Sista: \"</span> <span class=\"token operator\">+</span> strang<span class=\"token punctuation\">[</span><span class=\"token builtin\">len</span><span class=\"token punctuation\">(</span>strang<span class=\"token punctuation\">)</span> <span class=\"token operator\">-</span> <span class=\"token number\">1</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">)</span></code></pre></div><sample-output><p>Ange sträng: <strong>test!</strong>\nFörsta: t\nSista: !</p></sample-output><p>Det här programmet går igenom varje tecken i en sträng – från det första till det sista:</p><div class=\"gatsby-highlight\" data-language=\"python\"><pre class=\"language-python\"><code class=\"language-python\">strang <span class=\"token operator\">=</span> <span class=\"token builtin\">input</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Ange sträng: \"</span><span class=\"token punctuation\">)</span>\nplats <span class=\"token operator\">=</span> <span class=\"token number\">0</span>\n<span class=\"token keyword\">while</span> plats <span class=\"token operator\">&lt;</span> <span class=\"token builtin\">len</span><span class=\"token punctuation\">(</span>strang<span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n    <span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span>strang<span class=\"token punctuation\">[</span>plats<span class=\"token punctuation\">]</span><span class=\"token punctuation\">)</span>\n    plats <span class=\"token operator\">+=</span> <span class=\"token number\">1</span></code></pre></div><sample-output><p>Ange sträng: <strong>test</strong>\nt\ne\ns\nt</p></sample-output><p>Man kan också använda negativa index för att komma åt tecknen i en sträng i motsatt ordning, dvs. från slutet av strängen.</p><p>Det sista tecknet i en sträng har då indexet -1, det näst sista indexet -2 och så vidare. Du kan tänka att <code class=\"language-text\">str[-1]</code> är en genväg för <code class=\"language-text\">str[len(str) – 1]</code>.</p><span class=\"gatsby-resp-image-wrapper\" style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 324px; margin-bottom: 1rem;\">\n      <a class=\"gatsby-resp-image-link\" href=\"/static/d5705c6b55a5f47c3372f8565bccdff6/67580/3_2_2.png\" style=\"display: block\" target=\"_blank\" rel=\"noopener\">\n    <span class=\"gatsby-resp-image-background-image\" style=\"padding-bottom: 30.869565217391305%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAAAsTAAALEwEAmpwYAAAA9UlEQVQY03VQDU+DMBTk//80EqeCttJSijC3lTKtQFapgTMtjhAzL3m9S/t67yOy9oKikHjb78EYR9u2cM7heDhA5Dk456CUQpavUKqBxzzPN8MjcuOID2PQ9x2qqoLWGtM8YxxHNEoFYykltF4KXQ3/48gf387hYi2macIVW71g+eRNvfKNYMu/xaIva/FCKeI4BuN8fazrGkopCCFwPJ1Qhi41CpGj0S1KWaA9vyPnPEzo84MhbsAb7XZ3yIUAIRScZUjSFISQwGmShHvy/IT7h0dwxpBlGay1y8h/F+v313UdhmFYue/7NYwxMOYz6G2eX9MPf7zJPqGusD4AAAAASUVORK5CYII='); background-size: cover; display: block;\"></span>\n  <picture>\n          <source srcset=\"/static/d5705c6b55a5f47c3372f8565bccdff6/a0b58/3_2_2.webp 230w,\n/static/d5705c6b55a5f47c3372f8565bccdff6/4e123/3_2_2.webp 324w\" sizes=\"(max-width: 324px) 100vw, 324px\" type=\"image/webp\">\n          <source srcset=\"/static/d5705c6b55a5f47c3372f8565bccdff6/81c8e/3_2_2.png 230w,\n/static/d5705c6b55a5f47c3372f8565bccdff6/67580/3_2_2.png 324w\" sizes=\"(max-width: 324px) 100vw, 324px\" type=\"image/png\">\n          <img class=\"gatsby-resp-image-image\" src=\"/static/d5705c6b55a5f47c3372f8565bccdff6/67580/3_2_2.png\" alt=\"3 2 2\" title=\"3 2 2\" loading=\"lazy\" decoding=\"async\" style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\">\n        </picture>\n  </a>\n    </span><p>Det föregående exemplet kan därmed förenklas med negativ indexering.</p><div class=\"gatsby-highlight\" data-language=\"python\"><pre class=\"language-python\"><code class=\"language-python\">strang <span class=\"token operator\">=</span> <span class=\"token builtin\">input</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Ange sträng: \"</span><span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Första: \"</span> <span class=\"token operator\">+</span> strang<span class=\"token punctuation\">[</span><span class=\"token number\">0</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Sista: \"</span> <span class=\"token operator\">+</span> strang<span class=\"token punctuation\">[</span><span class=\"token operator\">-</span><span class=\"token number\">1</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">)</span></code></pre></div><sample-output><p>Ange sträng: <strong>test!</strong>\nFörsta: t\nSista: !</p></sample-output><h2 id=\"indexerror-string-index-out-of-range\" style=\"position:relative;\">IndexError: string index out of range<a href=\"#indexerror-string-index-out-of-range\" aria-label=\"indexerror string index out of range permalink\" class=\"anchor after\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a></h2><p>Om du har testat exemplen ovan har du kanske stött på felmeddelandet <code class=\"language-text\">IndexError</code>. Det här felet uppstår då du försöker använda ett index som inte finns i en sträng.</p><div class=\"gatsby-highlight\" data-language=\"python\"><pre class=\"language-python\"><code class=\"language-python\">strang <span class=\"token operator\">=</span> <span class=\"token builtin\">input</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Ange sträng: \"</span><span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Tionde tecknet: \"</span> <span class=\"token operator\">+</span> strang<span class=\"token punctuation\">[</span><span class=\"token number\">9</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">)</span></code></pre></div><sample-output><p>Ange sträng: <strong>introkursen i programmering</strong>\nTionde tecknet: e</p></sample-output><sample-output><p>Ange sträng: <strong>python</strong></p><div>Traceback (most recent call last):\nFile \"<stdin>\", line 1, in <module>\nIndexError: string index out of range</div></sample-output><p>Ibland orsakas indexeringsfel av en bugg i koden. Det är till exempel relativt vanligt att man försöker komma åt ett index som inte finns när man försöker komma åt det sista tecknet i en sträng:</p><div class=\"gatsby-highlight\" data-language=\"python\"><pre class=\"language-python\"><code class=\"language-python\">strang <span class=\"token operator\">=</span> <span class=\"token builtin\">input</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Ange sträng: \"</span><span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Sista tecknet: \"</span> <span class=\"token operator\">+</span> strang<span class=\"token punctuation\">[</span><span class=\"token builtin\">len</span><span class=\"token punctuation\">(</span>strang<span class=\"token punctuation\">)</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">)</span></code></pre></div><p>Eftersom strängindexeringen börjar med noll kommer det sista tecknet att ha indexet <code class=\"language-text\">len(str) - 1</code>.</p><p>Det finns situationer där programmet borde förbereda sig för fel orsakade av indata från användaren:</p><div class=\"gatsby-highlight\" data-language=\"python\"><pre class=\"language-python\"><code class=\"language-python\">strang <span class=\"token operator\">=</span> <span class=\"token builtin\">input</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Ange sträng: \"</span><span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">if</span> <span class=\"token builtin\">len</span><span class=\"token punctuation\">(</span>strang<span class=\"token punctuation\">)</span> <span class=\"token operator\">></span> <span class=\"token number\">0</span><span class=\"token punctuation\">:</span>\n    <span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Första tecknet: \"</span> <span class=\"token operator\">+</span> strang<span class=\"token punctuation\">[</span><span class=\"token number\">0</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">else</span><span class=\"token punctuation\">:</span>\n    <span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Strängen är tom, alltså finns det inget första tecken\"</span><span class=\"token punctuation\">)</span></code></pre></div><p>I exemplet ovan skulle en sträng med längden noll ha orsakat problem om programmeraren inte skulle ha lagt till en längdkontroll i koden. En sträng med längden noll är en tom sträng. En inmatning blir en tom sträng om användaren inte skriver in något utan direkt trycker Enter.</p><in-browser-programming-exercise name=\"Omvänt\" tmcname=\"osa03-05c_omvant\"><p>Skapa ett program som ber användaren mata in en sträng. Programmet ska sedan skriva ut tecknen i omvänd ordning på varsin rad.</p><p>Exempel:</p><sample-output><p>Ange sträng: <strong>geting</strong>\ng\nn\ni\nt\ne\ng</p></sample-output></in-browser-programming-exercise><in-browser-programming-exercise name=\"Andra och näst sista\" tmcname=\"osa03-06_andra_nast_sista\"><p>Skapa ett program som ber användaren mata in ett ord. Programmet ska därefter berätta om ordets andra och nästsista bokstäver är de samma.</p><sample-output><p>Ange ett ord: <strong>python</strong>\nDen andra och den nästsista bokstaven skiljer sig från varandra</p></sample-output><sample-output><p>Ange ett ord: <strong>pascal</strong>\nDen andra och den nästsista bokstaven är a</p></sample-output></in-browser-programming-exercise><in-browser-programming-exercise name=\"Speciellt streck\" tmcname=\"osa03-09_speciellt_streck\"><p>Skapa ett program som ritar ut ett streck bestående av så många hashtags (<code class=\"language-text\">#</code>) som användaren anger.</p><sample-output><p>Bredd: <strong>3</strong></p><pre>\n###\n</pre></sample-output><sample-output><p>Bredd: <strong>8</strong></p><pre>\n########\n</pre></sample-output></in-browser-programming-exercise><in-browser-programming-exercise name=\"Fyrkant\" tmcname=\"osa03-10_fyrkant\"><p>Utveckla det föregående programmet så att användaren också kan definiera höjden på figuren.</p><sample-output><p>Bredd: <strong>10</strong>\nHöjd: <strong>3</strong>\n##########\n##########\n##########</p></sample-output></in-browser-programming-exercise><in-browser-programming-exercise name=\"Understrykning\" tmcname=\"osa03-11_understrykning\"><p>Skapa ett program som ber användaren mata in strängar. Programmet skriver sedan ut strängarna med understrykning enligt exemplet. Programmet avslutas då användaren ger en tom sträng, dvs. en sträng med längden noll.</p><sample-output><p>Ange sträng: <strong>Hejsan svejsan!</strong></p><pre>\nHejsan svejsan!\n---------------\n</pre><p>Ange sträng: <strong>Clara steg upp på en tremetersstege</strong></p><pre>\nClara steg upp på en tremetersstege\n-----------------------------------\n</pre><p>Ange sträng: <strong>a</strong></p><pre>\na\n-\n</pre><p>Ange sträng:</p></sample-output></in-browser-programming-exercise><in-browser-programming-exercise name=\"Högerjusterat\" tmcname=\"osa03-12_hogerjusterat\"><p>Skapa ett program som ber användaren mata in en sträng. Programmet ska sedan skriva ut strängen så att utskriften är exakt 20 tecken lång. Om strängen är kortare ska det finnas ett passligt antal asterisker (<code class=\"language-text\">*</code>) i början av strängen.</p><p>Du kan anta att strängen består av högst 20 tecken.</p><sample-output><p>Ord: <strong>python</strong></p><pre>\n**************python\n</pre></sample-output><sample-output><p>Ord: <strong>ganskalångsträng</strong></p><pre>\n****ganskalångsträng\n</pre></sample-output><sample-output><p>Ord: <strong>sssuperlångstränggg</strong></p><pre>\n*sssuperlångstränggg\n</pre></sample-output></in-browser-programming-exercise><in-browser-programming-exercise name=\"Ordlåda\" tmcname=\"osa03-13_ordlada\"><p>Skapa ett program som ber användaren mata in ett ord. Programmet ska sedan skriva ut ordet i mitten av en ram som består av asterisker. Bredden av ramen är 30 tecken. Du kan anta att ordet som anges ryms i ramen.</p><p>Om ordets längd är udda, kan du skriva ut det så att det ligger i mitten.</p><sample-output><p>Ord: <strong>aj!</strong></p><pre>\n******************************\n*            aj!             *\n******************************\n</pre></sample-output><sample-output><p>Ord: <strong>python</strong></p><pre>\n******************************\n*           python           *\n******************************\n</pre></sample-output></in-browser-programming-exercise><h2 id=\"delstrangar\" style=\"position:relative;\">Delsträngar<a href=\"#delstrangar\" aria-label=\"delstrangar permalink\" class=\"anchor after\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a></h2><p>En delsträng är en sekvens av tecken som utgör en del av den ursprungliga strängen. Till exempel innehåller strängen <code class=\"language-text\">exempel</code>  delsträngarna <code class=\"language-text\">exem</code>, <code class=\"language-text\">mpe</code>, <code class=\"language-text\">el</code> med flera. Att i Python ta ut en delsträng ur en sträng kallas för slicing.</p><p>Om du vet vad det inledande och avslutande indexet för en delsträng är, kan du extrahera (slice) delsträngen med notationen <code class=\"language-text\">[a:b]</code>. Då kommer delsträngen att börja vid index <code class=\"language-text\">a</code> och ta slut vid det sista tecknet före indexet <code class=\"language-text\">b</code> – det vill säga inklusive den första bokstaven men exklusive den sista. Du kan tänka att indexen är streck ritade på den vänstra sidan av det indexerade tecknet – som vi illustrerar nedan:</p><span class=\"gatsby-resp-image-wrapper\" style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 324px; margin-bottom: 1rem;\">\n      <a class=\"gatsby-resp-image-link\" href=\"/static/08007c903384a23f941bcd08cdb88343/67580/3_2_3.png\" style=\"display: block\" target=\"_blank\" rel=\"noopener\">\n    <span class=\"gatsby-resp-image-background-image\" style=\"padding-bottom: 37.391304347826086%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAHCAYAAAAIy204AAAACXBIWXMAAAsTAAALEwEAmpwYAAABW0lEQVQoz3WRwW7aQBRF53+6yoaq60hdkf5QfyR/0P5CF92GKgkoBpIaiPF4YgV7jD0GBxsM5kQ2CVXS9kpP83RHc959GrHb7UiNYbVaEUUReZ5TlluybMk8jtFRxHxeV9x4r9rv9/xLoigKhoM+vu/T6XQYjcYslhlhMOPecbi5seheXWL1BwTBjE25aYa/Qv9U4xyAk8mYIAjo9XpYlsXjLMCdTtDzBGMM221JnMT86lzQ7V6TGPMCrN5Am4TvI6/X62NfVdXLQ96c/1MNFWW5QSmvSTZ13eNlGIYU65zlsoZ+R+sP7PmE1i2qqkUYttiWH0nMCUX+gyjKDwnrTzFJ0qysddSYWZYx6PeZuvdImeD7X7m9FTw8CIZDgfIEd78FnhTYtkDKc2z7kaenxd8r10rTFMdxUEoi3QBPfcNxTlHqC6NxG+m2sUdtPHnG1P2M7//EU5rFIuUZIHMCtnQB98YAAAAASUVORK5CYII='); background-size: cover; display: block;\"></span>\n  <picture>\n          <source srcset=\"/static/08007c903384a23f941bcd08cdb88343/a0b58/3_2_3.webp 230w,\n/static/08007c903384a23f941bcd08cdb88343/4e123/3_2_3.webp 324w\" sizes=\"(max-width: 324px) 100vw, 324px\" type=\"image/webp\">\n          <source srcset=\"/static/08007c903384a23f941bcd08cdb88343/81c8e/3_2_3.png 230w,\n/static/08007c903384a23f941bcd08cdb88343/67580/3_2_3.png 324w\" sizes=\"(max-width: 324px) 100vw, 324px\" type=\"image/png\">\n          <img class=\"gatsby-resp-image-image\" src=\"/static/08007c903384a23f941bcd08cdb88343/67580/3_2_3.png\" alt=\"3 2 3\" title=\"3 2 3\" loading=\"lazy\" decoding=\"async\" style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\">\n        </picture>\n  </a>\n    </span><p>Låt oss kika lite mer på extraherade (sliced) strängar:</p><div class=\"gatsby-highlight\" data-language=\"python\"><pre class=\"language-python\"><code class=\"language-python\">strang <span class=\"token operator\">=</span> <span class=\"token string\">\"glassbil\"</span>\n\n<span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span>strang<span class=\"token punctuation\">[</span><span class=\"token number\">0</span><span class=\"token punctuation\">:</span><span class=\"token number\">3</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span>strang<span class=\"token punctuation\">[</span><span class=\"token number\">4</span><span class=\"token punctuation\">:</span><span class=\"token number\">7</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">)</span>\n\n<span class=\"token comment\"># om inledande index fattas, är det 0</span>\n<span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span>strang<span class=\"token punctuation\">[</span><span class=\"token punctuation\">:</span><span class=\"token number\">3</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">)</span>\n\n<span class=\"token comment\"># om avslutande index fattas, är det lika med strängens längd</span>\n<span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span>strang<span class=\"token punctuation\">[</span><span class=\"token number\">4</span><span class=\"token punctuation\">:</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">)</span></code></pre></div><sample-output><p>gla\nsbi\ngla\nsbil</p></sample-output><text-box variant='hint' name='Halvöppna intervall'><p>I Python är intervallet <code class=\"language-text\">[a:b]</code> halvöppet då vi behandlar strängar. Det här innebär att tecknet i det inledande indexet <code class=\"language-text\">a</code> inkluderas i intervallet medan tecknet i det avslutande indexet <code class=\"language-text\">b</code> lämnas bort. Varför det?</p><p>Det finns ingen tydlig orsak bakom. Det är helt enkelt en konvention som har sitt ursprung i andra programmeringsspråk.</p><p>Halvöppna intervall kan kännas jobbiga men i praktiken har de sina goda sidor. Du kan till exempel enkelt räkna längden på en delsträng med <code class=\"language-text\">b - a</code>. Å andra sidan måste du komma ihåg att tecknet i slutet vid indexet <code class=\"language-text\">b</code> inte kommer att inkluderas i delsträngen.</p></text-box><in-browser-programming-exercise name=\"Delsträngar 1\" tmcname=\"osa03-07_delstrangar_1\"><p>Skapa ett program som ber användaren mata in en sträng. Därefter ska programmet skriva ut alla delsträngar med start från det första tecknet, i storleksordning.</p><p>Exempel:</p><sample-output><p>Ange sträng: <strong>test</strong>\nt\nte\ntes\ntest</p></sample-output></in-browser-programming-exercise><in-browser-programming-exercise name=\"Delsträngar 2\" tmcname=\"osa03-08_delstrangar_2\"><p>Skapa ett program som ber användaren mata in en sträng. Därefter ska det skriva ut alla delsträngar som slutar med det sista tecknet, i storleksordning.</p><p>Exempel:</p><sample-output><p>Ange sträng: <strong>test</strong>\nt\nst\nest\ntest</p></sample-output></in-browser-programming-exercise><h2 id=\"soka-efter-delstrangar\" style=\"position:relative;\">Söka efter delsträngar<a href=\"#soka-efter-delstrangar\" aria-label=\"soka efter delstrangar permalink\" class=\"anchor after\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a></h2><p>Operatorn <code class=\"language-text\">in</code> berättar om en sträng innehåller en specifik delsträng. Boolean-uttrycket <code class=\"language-text\">a in b</code> är sant om <code class=\"language-text\">b</code> innehåller delsträngen <code class=\"language-text\">a</code>.</p><p>Till exempel skriver den här kodsnutten…</p><div class=\"gatsby-highlight\" data-language=\"python\"><pre class=\"language-python\"><code class=\"language-python\">strang <span class=\"token operator\">=</span> <span class=\"token string\">\"test\"</span>\n\n<span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"t\"</span> <span class=\"token keyword\">in</span> strang<span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"x\"</span> <span class=\"token keyword\">in</span> strang<span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"est\"</span> <span class=\"token keyword\">in</span> strang<span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"ets\"</span> <span class=\"token keyword\">in</span> strang<span class=\"token punctuation\">)</span></code></pre></div><p>… ut följande:</p><sample-output><p>True\nFalse\nTrue\nFalse</p></sample-output><p>Programmet nedan låter användaren söka efter delsträngar i en sträng som är hårdkodad i programmet:</p><div class=\"gatsby-highlight\" data-language=\"python\"><pre class=\"language-python\"><code class=\"language-python\">strang <span class=\"token operator\">=</span> <span class=\"token string\">\"eu-val\"</span>\n\n<span class=\"token keyword\">while</span> <span class=\"token boolean\">True</span><span class=\"token punctuation\">:</span>\n    delstrang <span class=\"token operator\">=</span> <span class=\"token builtin\">input</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Vad söker du efter? \"</span><span class=\"token punctuation\">)</span>\n    <span class=\"token keyword\">if</span> delstrang <span class=\"token keyword\">in</span> strang<span class=\"token punctuation\">:</span>\n        <span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Hittades\"</span><span class=\"token punctuation\">)</span>\n    <span class=\"token keyword\">else</span><span class=\"token punctuation\">:</span>\n        <span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Hittades inte\"</span><span class=\"token punctuation\">)</span></code></pre></div><sample-output><p>Vad söker du efter? <strong>eu</strong>\nHittades\nVad söker du efter? <strong>euval</strong>\nHittades inte\nVad söker du efter? <strong>u-v</strong>\nHittades\n...</p></sample-output><in-browser-programming-exercise name=\"Hittas vokaler?\" tmcname=\"osa03-13b_vokaler\"><p>Skapa ett program som ber användaren mata in en sträng. Programmet ska därefter meddela om vokalerna a, e eller o hittas i strängen.</p><p>Du kan anta att strängen är angiven i gemener.</p><p>Exempel:</p><sample-output><p>Ange sträng: <strong>hej på dig</strong>\na hittas inte\ne hittas\no hittas inte</p></sample-output><sample-output><p>Ange sträng: <strong>morjens</strong>\na hittas inte\ne hittas\no hittas</p></sample-output></in-browser-programming-exercise><p>Operatorn <code class=\"language-text\">in</code> returnerar ett Boolean-värde. Det berättar alltså bara att en delsträng existerar i en sträng, men baserat på den informationen vet vi inte var delsträngen befinner sig. Däremot kan metoden <code class=\"language-text\">find</code> hos strängar användas för det här syftet. Som argument ger man delsträngen som söks efter. Tillbaka får vi ett värde som anger det första indexet där delsträngen hittades – eller <code class=\"language-text\">-1</code> om delsträngen inte hittas i strängen.</p><p>Så här fungerar det:</p><span class=\"gatsby-resp-image-wrapper\" style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 227px; margin-bottom: 1rem;\">\n      <a class=\"gatsby-resp-image-link\" href=\"/static/b2812ef85c8e7deabfe929f68d397de5/9b5be/3_2_4.png\" style=\"display: block\" target=\"_blank\" rel=\"noopener\">\n    <span class=\"gatsby-resp-image-background-image\" style=\"padding-bottom: 62.11453744493392%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAAAsSAAALEgHS3X78AAABw0lEQVQoz31Ta3OiQBDk//8iP1zKOjwpfMWyBIzIBSQIiDEX5b2B7dQsmEDuLlM1xcxub+9szyDhq3HeuAibb1mWeHJd7B0H7n4Px3EQ+L6I0zT9xHIOiYKe02YL4O0dRVlicX8PRVUxn88hyzKMhwf8lGVEp1ND2GL/Juw40hT89RWIY6AoAMbEGpKkyfNcxPxyAY9jcUbCd0YEnPflqCrUb2+9NU45eV1DusYxbMfBk+fBDwKYu53Ifd9HludYr9cIggA7y4JuGAITtDhN05o8DBFGUfPky/MzPNvGiTY8D79NE6amYbVYoGQMURTB8zzYtg3LsvDnfBbrdIFpWQiOR/C6xjEMG0IqU2iRZcD5TC1tNKL1fxlpd702Z0jbPAd/efnACw0pZFXV6xZjDFVVfTSormvhtM+KAmWagsUxSiLujJmUJAkURcFwOMRkMoFpmuI7Go0wGAxgGEZvJumiX+MxftzdYawoYoQIf5tHiQJd17HZbLDdbjGbzbBarXA4HASooCd+IaRm6JoG+/ER0+kUqqp+EmZZJqogEurscrkUwxu2It/IuoRUAP0truuKKaA8p6ffNPyfdYm6VX6HfwfDLJMCIdxKRgAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"></span>\n  <picture>\n          <source srcset=\"/static/b2812ef85c8e7deabfe929f68d397de5/7d72c/3_2_4.webp 227w\" sizes=\"(max-width: 227px) 100vw, 227px\" type=\"image/webp\">\n          <source srcset=\"/static/b2812ef85c8e7deabfe929f68d397de5/9b5be/3_2_4.png 227w\" sizes=\"(max-width: 227px) 100vw, 227px\" type=\"image/png\">\n          <img class=\"gatsby-resp-image-image\" src=\"/static/b2812ef85c8e7deabfe929f68d397de5/9b5be/3_2_4.png\" alt=\"3 2 4\" title=\"3 2 4\" loading=\"lazy\" decoding=\"async\" style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\">\n        </picture>\n  </a>\n    </span><p>Några exempel där vi använder <code class=\"language-text\">find</code>:</p><div class=\"gatsby-highlight\" data-language=\"python\"><pre class=\"language-python\"><code class=\"language-python\">strang <span class=\"token operator\">=</span> <span class=\"token string\">\"test\"</span>\n\n<span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span>strang<span class=\"token punctuation\">.</span>find<span class=\"token punctuation\">(</span><span class=\"token string\">\"t\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span>strang<span class=\"token punctuation\">.</span>find<span class=\"token punctuation\">(</span><span class=\"token string\">\"x\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span>strang<span class=\"token punctuation\">.</span>find<span class=\"token punctuation\">(</span><span class=\"token string\">\"est\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span>strang<span class=\"token punctuation\">.</span>find<span class=\"token punctuation\">(</span><span class=\"token string\">\"ets\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span></code></pre></div><sample-output><p>0\n-1\n1\n-1</p></sample-output><p>Ovanstående delsträngsexempel gjort med <code class=\"language-text\">find</code>:</p><div class=\"gatsby-highlight\" data-language=\"python\"><pre class=\"language-python\"><code class=\"language-python\">strang <span class=\"token operator\">=</span> <span class=\"token string\">\"led-lampa\"</span>\n\n<span class=\"token keyword\">while</span> <span class=\"token boolean\">True</span><span class=\"token punctuation\">:</span>\n    delstrang <span class=\"token operator\">=</span> <span class=\"token builtin\">input</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Vad söker du efter? \"</span><span class=\"token punctuation\">)</span>\n    plats <span class=\"token operator\">=</span> strang<span class=\"token punctuation\">.</span>find<span class=\"token punctuation\">(</span>delstrang<span class=\"token punctuation\">)</span>\n    <span class=\"token keyword\">if</span> plats <span class=\"token operator\">>=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">:</span>\n        <span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span><span class=\"token string-interpolation\"><span class=\"token string\">f\"Hittades på platsen </span><span class=\"token interpolation\"><span class=\"token punctuation\">{</span>plats<span class=\"token punctuation\">}</span></span><span class=\"token string\">\"</span></span><span class=\"token punctuation\">)</span>\n    <span class=\"token keyword\">else</span><span class=\"token punctuation\">:</span>\n        <span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Hittades inte\"</span><span class=\"token punctuation\">)</span></code></pre></div><sample-output><p>Vad söker du efter? <strong>ed</strong>\nHittades på platsen 1\nVad söker du efter? <strong>abc</strong>\nHittades inte\nVad söker du efter? <strong>ampa</strong>\nHittades på platsen 5\n...</p></sample-output><text-box variant='hint' name='Metoder'><p>Vi använde ovan metoden <code class=\"language-text\">find</code> hos strängar. Metoder fungerar ganska lika jämfört med funktioner som vi såg på i den föregående modulen. Skillnaden mellan dem är att metoder alltid är kopplade till det objekt som de kallas på. Objektet är den entitet som namnges före metoden som man anropar. I det här fallet är objektet den sträng i vilken vi använder metoden för att söka efter delsträngen. Delsträngen ges som parameter till metoden.</p></text-box><in-browser-programming-exercise name=\"Hitta första delsträngen\" tmcname=\"osa03-13c_forsta_delstrangen\"><p>Skapa ett program som ber användaren mata in en sträng samt ett tecken. Programmet ska skriva ut den första delsträngen på tre tecken som börjar med det tecknet användaren angett. Du kan anta att strängen består av minst tre tecken.</p><sample-output><p>Ord: <strong>algeriet</strong>\nTecken: <strong>a</strong>\nalg</p></sample-output><sample-output><p>Ord: <strong>insändare</strong>\nTecken: <strong>n</strong>\nnsä</p></sample-output><sample-output><p>Ord: <strong>vindpust</strong>\nTecken: <strong>x</strong></p></sample-output><sample-output><p>Ord: <strong>python</strong>\nTecken: <strong>n</strong></p></sample-output></in-browser-programming-exercise><in-browser-programming-exercise name=\"Hitta alla delsträngar\" tmcname=\"osa03-14_alla_delstrangar\"><p>Utveckla ditt föregående program, så att programmet skriver ut varje delsträng på tre tecken och som börjar med det angivna tecknet. Du kan anta att den inmatade strängen består av minst tre tecken.</p><sample-output><p>Ord: <strong>ljudlös</strong>\nTecken: <strong>l</strong>\nlju\nlös</p></sample-output><sample-output><p>Ord: <strong>nemi</strong>\nTecken: <strong>n</strong>\nnem</p></sample-output><p>Tips: Följande exempel kan ge dig inspiration för uppgiften.</p><div class=\"gatsby-highlight\" data-language=\"python\"><pre class=\"language-python\"><code class=\"language-python\"><span class=\"token builtin\">ord</span> <span class=\"token operator\">=</span> <span class=\"token builtin\">input</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Ord: \"</span><span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">while</span> <span class=\"token boolean\">True</span><span class=\"token punctuation\">:</span>\n    <span class=\"token keyword\">if</span> <span class=\"token builtin\">len</span><span class=\"token punctuation\">(</span><span class=\"token builtin\">ord</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">==</span> <span class=\"token number\">0</span><span class=\"token punctuation\">:</span>\n        <span class=\"token keyword\">break</span>\n    <span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span><span class=\"token builtin\">ord</span><span class=\"token punctuation\">)</span>\n    <span class=\"token builtin\">ord</span> <span class=\"token operator\">=</span> <span class=\"token builtin\">ord</span><span class=\"token punctuation\">[</span><span class=\"token number\">2</span><span class=\"token punctuation\">:</span><span class=\"token punctuation\">]</span></code></pre></div><sample-output><p>Ord: <strong>solgass</strong>\nsolgass\nolgass\nlgass\ngass\nass\nss\ns</p></sample-output></in-browser-programming-exercise><in-browser-programming-exercise name=\"Andra förekomsten\" tmcname=\"osa03-15_andra_forekomsten\"><p>Skapa ett program som söker efter den andra förekomsten av en given delsträng i en sträng. Om delsträngen inte hittas två gånger eller ens en gång, ska programmet meddela om detta.</p><p>I den här kontexten kan delsträngar inte vara överlappande. I strängen <code class=\"language-text\">aaaa</code> hittas delsträngen <code class=\"language-text\">aa</code> för den andra gången vid index 2.</p><p>Exempel:</p><sample-output><p>Ange sträng: <strong>abcabc</strong>\nAnge delsträng: <strong>ab</strong>\nDelsträngens andra förekomst är vid index 3.</p></sample-output><sample-output><p>Ange sträng: <strong>laserpenna</strong>\nAnge delsträng: <strong>a</strong>\nDelsträngens andra förekomst är vid index 9.</p></sample-output><sample-output><p>Ange sträng: <strong>dynga</strong>\nAnge delsträng: <strong>dy</strong>\nDelsträngen förekommer inte två gånger.</p></sample-output></in-browser-programming-exercise><div><quiz id=\"762c03de-866b-572b-a4f2-f99e0b6f6c0e\"></quiz></div></div>","frontmatter":{"path":"/osa-3/2-behandla-strangar","title":"Behandla strängar"},"fileAbsolutePath":"/home/runner/work/ohjelmointi-26-sv/ohjelmointi-26-sv/data/osa-3/2-behandla-strangar.md"},"allPages":{"edges":[{"node":{"id":"3823106d-d5b4-54fc-ab67-c9717c628c00","frontmatter":{"path":"/","title":"Info om kursen"}}},{"node":{"id":"dd7e5652-0011-5cc2-8a7c-c07fca8a56ba","frontmatter":{"path":"/bedomningar-och-prov","title":"Bedömning och prov"}}},{"node":{"id":"7ee945da-eb70-5822-b337-58f9871c566a","frontmatter":{"path":"/alla-uppgifter","title":"Alla uppgifter"}}},{"node":{"id":"6e80e276-0b56-526e-93d9-5ab8823c6611","frontmatter":{"path":"/frontmatter-guide","title":"Frontmatter-guide"}}},{"node":{"id":"7dadae75-1bf2-549f-bb24-5e00c8421489","frontmatter":{"path":"/stod","title":"Handledning och stöd"}}},{"node":{"id":"b1f9be34-f77d-51c9-83c2-d2d3b1f88e7c","frontmatter":{"path":"/onlinetent","title":"Nättentamen 4.6."}}},{"node":{"id":"4e153253-62e1-5e29-b920-4512181e99a0","frontmatter":{"path":"/onlinetent-ohja","title":"ProgFK onlinetent 28.2.2026"}}},{"node":{"id":"5ba54609-9e23-5f8a-bbb1-3501116bd674","frontmatter":{"path":"/onlinetent-ohpe","title":"ProgGK onlinetent 17.1.2026"}}},{"node":{"id":"15a016f4-0a3d-5ec9-8236-533e57968b89","frontmatter":{"path":"/felanmalningar","title":"Vanliga felmeddelanden"}}},{"node":{"id":"416d07bf-b149-5ede-9d73-ea96ebbe00a2","frontmatter":{"path":"/sanasto","title":"Sanasto"}}},{"node":{"id":"70c6dbee-fa15-5924-a037-5b093295a075","frontmatter":{"path":"/osa-1/1-introduktion","title":"Introduktion"}}},{"node":{"id":"677341cb-d819-5a66-a348-fe483d9d22dd","frontmatter":{"path":"/ofta-stallda-fragar","title":"Ofta ställda frågor"}}},{"node":{"id":"10acce17-6b8d-5a7a-96ef-df73c32033da","frontmatter":{"path":"/osa-1/5-villkorssatser","title":"If-satser"}}},{"node":{"id":"adf0c95e-e532-52ac-acb7-41ecca35f001","frontmatter":{"path":"/osa-1","title":"Modul 1"}}},{"node":{"id":"337cbcae-fea0-535f-a4b7-07d0558220d7","frontmatter":{"path":"/osa-1/4-rakneoperationer","title":"Räkneoperationer"}}},{"node":{"id":"94008673-2d10-5ad1-af95-83b5478b3113","frontmatter":{"path":"/osa-10/1-klasshierarkier","title":"Klasshierarkier"}}},{"node":{"id":"3d48575e-5585-5b61-81ed-fe7585ea7593","frontmatter":{"path":"/osa-10/2-atkamstmodifierare","title":"Åtkomstmodifierare"}}},{"node":{"id":"fd6c2729-204f-5955-84d7-1ee8ed9b243b","frontmatter":{"path":"/osa-10/3-objektorienterade-programmeringstekniker","title":"Objektorienterade programmeringstekniker"}}},{"node":{"id":"648ed3ec-8a44-533a-9b88-7ef8fb7a1314","frontmatter":{"path":"/osa-10/4-storre-applikation","title":"Att utveckla en större applikation"}}},{"node":{"id":"abc32f5b-5700-5a16-b351-3bb0fd9e9b3f","frontmatter":{"path":"/osa-10","title":"Modul 10"}}},{"node":{"id":"b6612d3d-6ef9-5537-b0cf-62a01d4de20e","frontmatter":{"path":"/osa-1/3-mer-om-variabler","title":"Mer om variabler"}}},{"node":{"id":"b4146f07-9889-567c-bb26-315ca8375738","frontmatter":{"path":"/osa-11/1-list-comprehension","title":"Listbyggare"}}},{"node":{"id":"959073ca-1000-5d61-98e3-6a7151d95d71","frontmatter":{"path":"/osa-1/2-info-fran-anvandaren","title":"Information från användaren"}}},{"node":{"id":"a8daa43b-12ea-5482-9768-648407360e5d","frontmatter":{"path":"/osa-11/3-rekursion","title":"Rekursion"}}},{"node":{"id":"4dfa0d82-937f-597e-a323-1ffa57da8548","frontmatter":{"path":"/osa-11/2-mer-om-comprehensions","title":"Mer om listbyggare"}}},{"node":{"id":"848a81c4-fc8c-55cf-99ad-333703ef6d09","frontmatter":{"path":"/osa-11/4-lisaa-esimerkkeja","title":"Fler exempel på rekursion"}}},{"node":{"id":"bd0cfdba-8571-59be-bcfc-b681838806c6","frontmatter":{"path":"/osa-11","title":"Modul 11"}}},{"node":{"id":"d2e288a6-dc52-5b69-b9c9-7c967e3ecd14","frontmatter":{"path":"/osa-12/3-funktionell-programmering","title":"Funktionell programmering"}}},{"node":{"id":"e4a0179a-cac6-5b2f-b1d0-e0db6f5b4339","frontmatter":{"path":"/osa-12/4-reguljara-uttryck","title":"Reguljära uttryck"}}},{"node":{"id":"655d9900-5214-5ba4-88d7-a81fd819b0a0","frontmatter":{"path":"/osa-12","title":"Modul 12"}}},{"node":{"id":"10a6b4aa-f106-50e6-9d72-39e500891fd8","frontmatter":{"path":"/osa-12/2-generatorer","title":"Generatorer"}}},{"node":{"id":"af6df246-f5d2-583d-9f07-5aa9736ff64f","frontmatter":{"path":"/osa-13/1-pygame","title":"Pygame"}}},{"node":{"id":"d7395cb0-da7f-5acf-bf09-fd1035b36e81","frontmatter":{"path":"/osa-13/2-animation","title":"Animation"}}},{"node":{"id":"fef7b1d3-58ba-5d58-8637-0e14a8f584a6","frontmatter":{"path":"/osa-12/1-funktioner-som-argument","title":"Funktioner som argument"}}},{"node":{"id":"bd405169-a47c-5eba-986b-4506b39036ac","frontmatter":{"path":"/osa-13/4-fler-pygame-tekniker","title":"Fler pygame-tekniker"}}},{"node":{"id":"a9357b87-636c-5d96-b46b-bbb6a421f6d0","frontmatter":{"path":"/osa-13/3-handelser","title":"Händelser"}}},{"node":{"id":"78b8d6cc-7e14-5090-b43c-1513e8069e0c","frontmatter":{"path":"/osa-13","title":"Modul 13"}}},{"node":{"id":"5f9e405b-ae8f-5181-b1ae-ff2f4e6ad6da","frontmatter":{"path":"/osa-14/1-spelprojekt","title":"Spelprojekt"}}},{"node":{"id":"6e0e1b55-3ed4-56a8-9580-cd451bb7edde","frontmatter":{"path":"/osa-14/2-robot-och-ladar","title":"Robot och lådor"}}},{"node":{"id":"7f22ddd1-54e5-548f-b8d1-07863a79e2df","frontmatter":{"path":"/osa-14","title":"Modul 14"}}},{"node":{"id":"fea4657b-129f-5bb5-8645-17f84341e4b6","frontmatter":{"path":"/osa-2/1-terminologi","title":"Programmeringsterminologi"}}},{"node":{"id":"8c86392d-05ca-5e03-bf19-9e18db4c3578","frontmatter":{"path":"/osa-2/2-else-elif","title":"Mera om if-satser"}}},{"node":{"id":"4272a508-fa3f-5c99-b0d0-ca0a77dcbd88","frontmatter":{"path":"/osa-2/3-kombinera-villkor","title":"Kombinera villkor"}}},{"node":{"id":"2a9f88b8-4fe8-5fcb-9dfe-b4d98dde5d42","frontmatter":{"path":"/osa-14/3-fardigstallande-av-spelet","title":"Färdigställande av spelet"}}},{"node":{"id":"a620e53b-7d15-54ea-9a40-5d549bf3fddc","frontmatter":{"path":"/osa-14/4-ditt-eget-sepl","title":"Ditt eget spel"}}},{"node":{"id":"6a0f5405-e6cb-581d-92e3-c8af9ad4e7c2","frontmatter":{"path":"/osa-3/1-loopar-med-villkor","title":"Loopar med villkor"}}},{"node":{"id":"a131e4e2-8f05-5986-ab20-e06d9ed60dbe","frontmatter":{"path":"/osa-3/2-behandla-strangar","title":"Behandla strängar"}}},{"node":{"id":"29bc027e-c4f5-5d80-9e6a-bca75ee73682","frontmatter":{"path":"/osa-3/3-mer-om-loopar","title":"Mera om loopar"}}},{"node":{"id":"ed81d1ed-bbbb-573c-a017-e49e4ccd3d56","frontmatter":{"path":"/osa-3/4-definiera-funktioner","title":"Definiera funktioner"}}},{"node":{"id":"f9cdcf8a-269d-5ddb-9346-9ca23e48ef7e","frontmatter":{"path":"/osa-3","title":"Modul 3"}}},{"node":{"id":"8c15b7c7-809b-5ea5-a801-7d20819960ea","frontmatter":{"path":"/osa-4/1-vscode","title":"Editorn Visual Studio Code, Pythontolken och det inbyggda debuggningsverktyget"}}},{"node":{"id":"0f597439-5fd6-5ebf-a758-51fa680510d6","frontmatter":{"path":"/osa-4/2-mer-om-funktioner","title":"Mer om funktioner"}}},{"node":{"id":"d61169f7-0d24-5b3c-8b8c-6f3001453119","frontmatter":{"path":"/osa-4/3-listor","title":"Listor"}}},{"node":{"id":"0cc0967d-12d5-5877-966c-83262ee2d053","frontmatter":{"path":"/osa-4/4-iteration","title":"Iteration"}}},{"node":{"id":"b7f5aab0-16f5-57ea-be99-ef776e766449","frontmatter":{"path":"/osa-4/5-utskrift","title":"Formatera utskrift"}}},{"node":{"id":"7ce1ae54-08a7-55c5-8fdf-e66c163be7c5","frontmatter":{"path":"/osa-4","title":"Modul 4"}}},{"node":{"id":"7616bfc3-86a8-51ad-a63d-f62e70d684f7","frontmatter":{"path":"/osa-5/1-mer-om-listor","title":"Mer om listor"}}},{"node":{"id":"2754089d-7b6b-5a07-98f8-ed47c35f0f1e","frontmatter":{"path":"/osa-5/2-referenser","title":"Referenser"}}},{"node":{"id":"e44de044-469b-5a0c-b484-8b1c6d76b36e","frontmatter":{"path":"/osa-5/4-tuple","title":"Tuple"}}},{"node":{"id":"1777675c-c2e5-5912-9351-6bf786995e74","frontmatter":{"path":"/osa-4/6-strangar-listor","title":"Mera strängar och listor"}}},{"node":{"id":"f5608366-0cdb-5799-ad10-c1ae5bf31ff5","frontmatter":{"path":"/osa-2/4-loopar","title":"Enkla loopar"}}},{"node":{"id":"335a567d-d08f-56d6-8449-9d4bfb7dbbf5","frontmatter":{"path":"/osa-2","title":"Modul 2"}}},{"node":{"id":"05201f8b-92c3-5f20-aa64-572c040a44ef","frontmatter":{"path":"/osa-6/2-skriva-filer","title":"Skriva filer"}}},{"node":{"id":"bc19aa61-1a37-5b73-bd20-0c3994c3a7cf","frontmatter":{"path":"/osa-6/3-fel","title":"Förbered dig på fel"}}},{"node":{"id":"9c4ca0dd-1be2-5b8f-a357-61049541022a","frontmatter":{"path":"/osa-6/1-lasa-filer","title":"Läsa filer"}}},{"node":{"id":"05a28a78-3f81-5cb4-8f94-9a16288789c8","frontmatter":{"path":"/osa-6/4-lokala-globala-variabler","title":"Lokala och globala variabler"}}},{"node":{"id":"2f89b471-3e51-5519-9173-c8029a4a5bf7","frontmatter":{"path":"/osa-6","title":"Modul 6"}}},{"node":{"id":"cda20318-6650-5b01-96a7-c8a9436ea427","frontmatter":{"path":"/osa-7/1-moduler","title":"Moduler"}}},{"node":{"id":"c0858900-47db-5c88-8875-147a8e652fe4","frontmatter":{"path":"/osa-5/3-lexikon","title":"Lexikon"}}},{"node":{"id":"11da0cd6-66de-5139-aeea-f6536ce49cca","frontmatter":{"path":"/osa-7/2-slumpmassighet","title":"Slump"}}},{"node":{"id":"2190a210-ac82-5c3e-8671-037f9247c83f","frontmatter":{"path":"/osa-7/3-tid-datum","title":"Tid och datum"}}},{"node":{"id":"9970fc94-eb27-5148-b31b-e887b737b7b4","frontmatter":{"path":"/osa-7/4-behandla-data","title":"Behandla data"}}},{"node":{"id":"9de0b38c-9ab2-5dca-918f-53f58d473b4e","frontmatter":{"path":"/osa-7/5-egna-moduler","title":"Skapa dina egna moduler"}}},{"node":{"id":"6c06e867-814c-5c2c-b0d6-d6cfaaf92234","frontmatter":{"path":"/osa-5","title":"Modul 5"}}},{"node":{"id":"f7d5f344-d3b4-56c6-bf18-45edc2245759","frontmatter":{"path":"/osa-8/4-metoder-i-egna-klasser","title":"Metoder i egna klasser"}}},{"node":{"id":"303465de-b86a-519b-b1b5-9711b03072d9","frontmatter":{"path":"/osa-8/5-fler-exempel","title":"Fler exempel"}}},{"node":{"id":"a85852ab-8cf8-52b4-8872-4c73d5821319","frontmatter":{"path":"/osa-9/1-objekt-och-referenser","title":"Objekt och referenser"}}},{"node":{"id":"b6cd6b79-fcb4-535d-8d00-b4f849f4647f","frontmatter":{"path":"/osa-9/3-inkapsling","title":"Inkapsling"}}},{"node":{"id":"c6757168-dbea-5c4f-aa4e-c2c3bb0ca423","frontmatter":{"path":"/osa-9/4-metodernas-rackvidd","title":"Metodernas räckvidd"}}},{"node":{"id":"601766bc-2985-5820-a4a3-32bbb761c69b","frontmatter":{"path":"/osa-7/6-funktionaliteter-python","title":"Flera funktionaliteter i Python"}}},{"node":{"id":"08ceb5d1-6e8e-599a-995d-a1125f7a1f80","frontmatter":{"path":"/osa-9/5-klassattribut","title":"Klassattribut"}}},{"node":{"id":"b1f13f0c-169e-519f-9f42-f572bebd8535","frontmatter":{"path":"/osa-9","title":"Modul 9"}}},{"node":{"id":"4b4101dc-9e1f-5a4a-bb4e-dbb6a4ba5e0d","frontmatter":{"path":"/osa-8/3-egna-klasser","title":"Egna klasser"}}},{"node":{"id":"35f36261-94d8-509f-9fcb-59b3e08fc6a1","frontmatter":{"path":"/osa-8/2-klasser-och-objekt","title":"Klasser och objekt"}}},{"node":{"id":"53079b0b-f0d2-5c35-83a0-4f713e57ce72","frontmatter":{"path":"/osa-8/1-objekt-och-metoder","title":"Objekt och metoder"}}},{"node":{"id":"954e5006-2925-5035-a27c-10e05897cfa4","frontmatter":{"path":"/osa-9/6-fler-exempel-med-klasser","title":"Fler exempel med klasser"}}},{"node":{"id":"f1eeb001-f445-57c9-b2e7-380dabc25b86","frontmatter":{"path":"/osa-8","title":"Modul 8"}}},{"node":{"id":"ccc63fff-7834-5270-b69c-944db644a9ad","frontmatter":{"path":"/osa-7","title":"Modul 7"}}},{"node":{"id":"75ae0566-a8bf-5305-aee3-4c5bc0d2d5e9","frontmatter":{"path":"/osa-9/2-objekt-som-attribut","title":"Objekt som attribut "}}}]}},"pageContext":{}},
    "staticQueryHashes": ["1357757885","994120085"]}