NemProgrammering.dk logo

Variabler i Python

Lær Python programmering » Variabler i Python # 4
Inkluderet:
Livstidsadgang
27 videolektioner
7 timers undervisning
Stil spørgsmål
Kursusbevis

Information om denne video

Underviser: Simon Rotendahl   Video: 18:44   Lektion nr. 4 af 27

Hvordan gemmer jeg?

Når du skriver et program eller script, så vil du tit gerne gemme noget data, det kan være antallet af noget, det kan være svaret af et regnestykke eller så meget andet. Det er her variabler kommer til sin ret. Et variable er en pladsholder (placeholder) for det førnævnte. Hvis jeg f.eks regne ud hvor mange penge jeg bruger på øl hver uge, så kan jeg lave et variable der hedder DummePenge, og det er lig med 0 om mandagen. Hver gang jeg så køber en øl, ligger jeg 15 kr. til, altså DummePenge = DummePenge + 15 kr.

Du skal lære om variabler, da du uden dem, ikke kan bruge samme data flere gange, og derved ikke se hvor mange penge jeg brugte på øl i går, jeg vil nemlig ikke have mulighed for at gemme den information.

I næste video skal vi lære om betinget udtryk, en byggesten i alt programmering!

Spørgsmål og kommentarer

Kun medlemmer med adgang til dette kursus kan stille spørgsmål og kommentere. Bliv medlem her!

  • Christina M. siger:

    det er den opgave som du viser 11 minutter inde i videoen.
    11:07 minutter inde viser du resultatet. Hvorfor har du pludselig -34 og 1 inde i dit diagram? De tal som var med i dit tidligere exempel? Det du selv beskriver i dit svar nedenfor.
    Du siger selv at de godt må stå der men at de ikke leder til noget. Så tænker jeg, hvorfor skriver du dem ind?

    1. Simon R. siger:

      Okay, så er jeg med. Det gør jeg for at holde eksemplet ens igennem videoen, og give den intuition jeg nævnte tidligere. Jeg kan godt se hvordan det kan forvirre, men samtidig så kan jeg også se at man blev forvirret over at de lige pludselig forsvinder.

      Jeg er ked af det forvirrede, men der er ikke en mening udover at give intuition, og holde det konsistent.

      Mvh.
      Simon

  • Christina M. siger:

    Mente selvfølgelig Simon

  • Christina M. siger:

    Hej Simone
    Hvorfor har du sat variablerne ind i dit diagram som ikke var en del af opgaven?
    Altså -34 og 1?
    For forvirringens skyld :)
    vh Christina

    1. Simon R. siger:

      Hej Christina

      Bare lige så jeg er sikker, mener du diagrammet omkring 9:40 i videoen? Hvis det er den så er svaret følgende, hvis det ikke er den, så sig lige til hvorhenne i videoen det er, så får jeg lige svaret på det :)

      Nej det er ikke for forvirringens skyld, så er det i hvert fald utilsigtede. De fire blokke til højre er ment som en repræsentation af computerens hukommelse. Det med hukommelse kan godt blive lidt flyvsk og abstrakt, så mit mål er at give en intuition om hvordan det fungere. Så det at jeg har 4 blokke er for at vise at ens program ligger ikke nødvendigvis samlet et sted på computeren, det er intuitionen jeg gerne vil give. Det at det ikke ligger samlet er smart for hvis der tilfældigvis ligger et 3 tal gemt i computerens hukommelse et sted, så i stedet for at lave et nyt 3 tal, så kan vi bruge det andet 3 tal for at spare plads. Den del er dog udover hvad kurset er ment til at lærer jer.

      Jeg håber det hjalp, hvis ikke, eller det var noget andet du spurgte til, så skriv endelig, og hvor det er, så jeg er sikker på jeg får svaret dig ordenligt :)

      Mvh.
      Simon Rotendahl

  • Roald J. siger:

    Hej Simon

    Jeg er lige begyndt på Python kurset, og har leget lidt med afsnittet variabler.

    Hvor jeg i stedet for at skrive x og y brugt ordet hund og kat, F.eks.

    hund = 100
    kat = hund
    print (kat)

    Og den skriver 100, fordi hund og kat er defineret som 100
    jeg kunne også skrive print (hund) og den vil stadig skrive 100, så det giver god mening for mig, men der hvor filmen knækker er, hvis jeg skriver;

    100 = hund
    kat = hund
    print (kat)

    så kommer den op med en fejl meddelelse, som hedder:
    can’t assign to literal, jeg har også prøvet med at skrive

    100 = hund
    print (100) men den kommer med samme fejl.

    jeg ved ikke hvad det betyder, men jeg er kommet frem til at den ikke kan definerer et tal som et ord eller bogstav men den kan godt definere et ord eller bogstav som et tal. Er det rigtig forstået?

    Hvis der er en løsning på problemet må du godt skrive det også selv om det er står i bogen “avanceret Python” på side 100 :-)

    Venlig hilsen

    Bjørn Jacobsen

    1. Simon R. siger:

      Hej Bjørn,

      Det er rigtigt forstået. Det er fordi at et variablenavn ikke kun må bestå af tal, så du kunne godt have
      _100 = 100
      print(_100)
      Grunden til det er helt lavpraksis at hvis du siger
      100 = hund
      Og så
      100 + 20
      Giver det så en fejl da du plusser 20 og hund, eller giver det 120? Det er der ikke en måde for Python at bestemme, og derfor kan man ikke :)

      Mvh.
      Simon

  • Andrea H. siger:

    Hej Simon

    Når jeg skriver python filnavn, så printer den ikke hvad y er. Altså “Python” kommer ikke op.
    I mit tilfælde hedder min fil “Video4.py”, så jeg skriver: python Video4.py (og klikker enter).

    Ved du hvad kan være grunden til det?

    Mvh
    Andrea

    1. Andrea H. siger:

      Hej igen Simon

      Jeg fandt ud af hvad jeg havde gjort forkert :-)

  • Henrik H. siger:

    Hej Simon
    Jeg kunne godt tænke mig der var nogle små opgaver jeg selv skulle løse i slutningen af hver video. Opgaver hvor jeg skulle bruge alt de fra de tidligere videoer ikke kun den video jeg er i gang med.

    Mvh
    Henrik

    1. Simon R. siger:

      Hej Henrik,

      Det forstår jeg godt kunne være rart. Det er desværre ikke noget jeg kommer til at tilføje. Video 6 er dog en opsamlingsvideo, som forhåbentligt giver lidt inspiration til opgaver man selv kan lave, og fanger evt. Misforståelser. Efter videoen om løkker, så er man ved at have de basale redskaber man skal bruge, derfra bliver det nemmere at opstille problemstillinger for sig selv. Generelt vil der komme mere kode jo længere i kurset man kommer, og så kan man også lave en masse ændringer i kodeeksemplerne, som giver anledning til en masse læring.

      Mvh.
      Simon

  • Nicky F. siger:

    Hej Simon
    Er det egentlig muligt for mig at sætte tempoet op på videoerne, idet jeg normalt ser videoer på Youtube på dobbelt eller halvanden-gange-tempo :-)
    Nogle af de andre kurser kører via Youtube, men jeg kan ikke afspille den der.

    Mvh.
    Nicky

    1. Simon R. siger:

      Hey Nicky,
      Jeg håber du nyder videoerne indtil videre :)
      Mht. At ændre hastigheden. Det er ikke lige noget jeg som underviser ved. Du kan prøve at skrive til nemprogrammering i form af kontakt siden, nederst på siden her, de kan nemlig bedre svare på det :)

      1. Nicky F. siger:

        Jo tak det er nogle rigtig gode videoer, men en kæmpe stor verden, kan jeg godt se nu hvor jeg begynder at øve mig lidt. Så det er med at holde tungen lige i munden :-)

        1. Simon R. siger:

          Ja det er det, det tog mig ret længe før jeg følte mig “komfortabel” med at kode, altså et punkt hvor jeg følte at jeg kunne sætte mig ned og lave noget brugbart. Det vigtigste er bare at øve sig, og spørge når man er i tvivl :)

          1. Nicky F. siger:

            Noget af det sværeste er dels at få ideer til nogle små overkommelige projekter. Og dels at finde ud af, hvad der er galt, når koden ikke virker, fordi man har glemt t koden virker som eks. at sætte kolon i en if, elif, else – sætning eller og der skal komma ind et sted eller sådan noget – for ellers virker det på en måde ret logisk :-)

            1. Simon R. siger:

              Ja det kan være svært i starten med projekter, efter video 9 (Løkker), så vil det blive nemmere, da du så har en del redskaber til at lave nogle små projekter.
              Det er nemlig helt rigtig, det hele er logik, det farlige er når nogle siger “bare logik”, for når først logikken bliver kompleks nok, så er det ikke “bare” længere.
              Mht. fejl beskeder, så kan de ligne volapyk i starten, men jo flere fejl man laver, og jo mere man lærer, så begynder de at give meget mening, men det kræver øvelse, du vil også komme til at se mig lave en fejl eller to en gang i mellem, som jeg har ladt være i videoerne, så man kan se min process, når jeg støder ind i dem :) Et godt råd er at lave fejl, med vilje, så du ved hvad fejlen er, og så læse den fejlbesked der kommer, for så får man strukturen af fejlbeskederne lidt mere ind under huden.