Hoppa till innehållet
AI-grafen
C· Byggareprogrammering· ca 30 min· grundläggande — ändras sällan· verifierad 2026-09-20

Program som pratar med användaren

Kunna läsa in text, konvertera till tal och svara — och hantera fel inmatning.

Förkunskaper

Intuition

input() läser en rad från användaren och ger alltid en sträng — även om användaren skriver siffror.

alder = input("Hur gammal är du? ")
print(alder + 1)        # TypeError! alder är "12", inte 12

Du måste konvertera: int(alder). Men om användaren skriver «tolv» kraschar int(). Riktiga program måste tåla det.

Kod

def las_tal(fraga, forsok=3):
    for _ in range(forsok):
        svar = input(fraga).strip().replace(",", ".")
        try:
            return float(svar)
        except ValueError:
            print(f"'{svar}' är inte ett tal. Försök igen.")
    raise ValueError("för många felaktiga försök")

alder = las_tal("Hur gammal är du? ")
print(f"Nästa år fyller du {alder + 1:.0f}")

Tre saker som gör funktionen bra:

  • .strip() tar bort mellanslag användaren råkat skriva.
  • .replace(",", ".") accepterar svenskt decimalkomma.
  • try/except fångar felet och frågar igen i stället för att krascha.

Testa alltid ditt program med: ett vanligt värde, tomt svar, text i stället för tal, och ett negativt tal. Det är de fyra som avslöjar buggar.

Behärskning innebär

  • Läser in text och konverterar till tal
  • Hanterar felaktig inmatning utan att programmet kraschar

Logga in för att göra övningarna och bygga upp din behärskning.

Källor

Alla källor och licenser