- File "testi.py", line 1
+ File "test.py", line 1
if namn == "Anna"
^
SyntaxError: invalid syntax
@@ -157,7 +159,7 @@ SyntaxError: invalid syntax
## Att debugga
-När syntaxen i ett program är korrekt men programmet inte ändå fungerar på önskat sätt, finns det en bugg i programmet.
+När syntaxen i ett program är korrekt men programmet inte ändå fungerar på önskat sätt, finns det troligen ett fel i programmet. Programfel kallas ofta buggar.
Buggar dyker upp i olika slags situationer. Vissa kan orsaka felmeddelanden medan programmet körs. Ta det här programmet som exempel:
@@ -183,11 +185,11 @@ Det här felet har med matematik att göra – det går inte att dividera med no
Fel som uppstår medan programmet körs är relativt lätta att korrigera. Felmeddelandet berättar på vilken rad i koden det uppstod problem. Det är förstås möjligt att felet ligger på något annat ställe i koden än just den här specifika raden.
-Ibland märker man en bugg eftersom det resultat som koden ger är fel. Att observera och hitta en sådan här bugg kan vara svårt. I programmeringsuppgifterna under den här kursen finns det olika tester som ska hjälpa med att hitta sådana här fel. Före en bugg kan korrigeras måste man ta reda på var felet uppstår.
+Ibland kan det finnas fel i programmet, trots att körningen går utan problem. De här buggarna är mycket svårare att märka och korrigera. Ofta handlar det om att man märker att programmet ger fel eller oväntade resultat i vissa situationer. I programmeringsuppgifterna under den här kursen finns det olika tester som ska hjälpa med att hitta sådana här fel. Före en bugg kan korrigeras måste man ta reda på var felet uppstår.
-Programmerare använder ofta termen debugga – att söka efter orsaker till fel som uppstår i koden. Det här är ett ytterst viktigt verktyg i en programmerares verktygslåda. I yrkeslivet använder programmerare ofta mera tid till att debugga än för att skriva ny kod.
+Programmerare använder ofta termen debugga – att söka efter orsaker till fel som uppstår i koden. Att lära sig debugga är ett ytterst viktigt verktyg i en programmerares verktygslåda. I yrkeslivet använder programmerare ofta mera tid till att debugga än för att skriva ny kod.
-Ett enkelt – men desto nyttigare – sätt att debugga sitt program är att lägga till `print`-satser i sin kod. Att verifiera vad som sker i koden med hjälp av print-instruktioner ger en bekräftelse att programmet gör det som du vill.
+Ett enkelt – men ändå mycket användbart – sätt att debugga sitt program är att lägga till `print`-satser i koden. Att verifiera vad som sker i koden med hjälp av print-instruktioner ger en bekräftelse att programmet gör det som du vill.
Det här är ett exempel på ett försök att lösa en av föregående modulens uppgifter:
@@ -210,7 +212,7 @@ Det här programmet fungerar inte helt korrekt. När testen körs får vi följa
FAIL: PalkkaTest: test_sunnuntai_1
-Syötteellä 23.0, 12, söndag oikeaa palkkaa 552.0 ei löydy tulosteestasi Lön 276.0 euro
+Med indata 23.0, 12, söndag är rätt lön 552.0 men detta finns inte i utskriften Lön 276.0 euro
@@ -223,7 +225,7 @@ Lön 276.0 euro
-Att debugga innebär vanligtvis att vi kör programmet flera gånger. Det kan vara händigt att tillfälligt hårdkoda det problematiska värdet istället för att alltid fråga efter värdet från användaren. Så här kunde det se ut i vårt exempel:
+Att debugga innebär vanligtvis att vi kör programmet flera gånger. Det kan vara bra att tillfälligt hårdkoda det problematiska värdet istället för att alltid fråga efter värdet från användaren. Så här kunde det se ut i vårt exempel:
```python
# timlon = float(input("Timlön: "))
@@ -278,7 +280,7 @@ Lön 276.0 euro
-Problemet ligger alltså i if-satsens villkor. Som i flera andra situationer inom programmering har bokstavsstorleken också skillnad när man jämför värden. Observera att "söndagg" i Boolean-uttrycket är skrivet med två g medan det i indatat inte är det. Vi korrigerar felet – både i if-satsen och `print`-instruktionen:
+Problemet ligger alltså i if-satsens villkor. Som du kanske redan märkt vid det här laget är det oerhört viktigt att vara exakt när vi programmerar: små bokstäver tolkas som olika bokstäver än stora och varje tecken spelar roll. I det här exemplet har vi tydligen stavat söndag fel: "söndagg" i Boolean-uttrycket är skrivet med två g medan användaren skrivit rätt. Vi korrigerar felet – både i if-satsen och `print`-instruktionen:
```python
# ...
@@ -327,9 +329,9 @@ Lön 552.0 euro
-När programmet fungerar som det ska, är det viktigt att ta bort `print`-satser och annan kod som använts för att debugga.
+När programmet fungerar som det ska, är det viktigt att ta bort alla exyta `print`-satser och annan kod som använts för att debugga.
-Det här var ett ganska enkelt exempel och i fall som det här kan man eventuellt hitta buggar genom att läsa igenom koden med omtanke. Att använda `print`-satser för att debugga är ändå ofta ett snabbt sätt att få en ledtråd för var problemet kan ligga. `print`-satser kan också användas för att fastställa vilka delar av koden som fungerar korrekt. Då kan man fokusera på andra ställen där buggar med större sannolikhet gömmer sig.
+Det här var ett ganska enkelt exempel och i fall som det här kan man eventuellt hitta buggar genom att noggrant läsa igenom koden. Att använda `print`-satser för att debugga är ändå ofta ett snabbt sätt att få en ledtråd gällande var problemet kan ligga. `print`-satser kan också användas för att ta reda på vilka delar av koden som fungerar korrekt. Då kan man fokusera på övriga ställen i koden där felen med större sannolikhet gömmer sig.
`print`-satser är bara ett sätt att debugga program. Vi återkommer till det här ämnet senare under kursen. Nu ska du bli van vid att debugga, med hjälp av `print`-instruktioner, för att hitta problematiska delar i din kod. Proffs klarar sig inte utan `print`-satser i debuggningssyfte – det är alltså en viktig resurs redan som nybörjare.
@@ -372,7 +374,7 @@ Ha en trevlig fortsättning på dagen!