Python er streng

I sidste afsnit så du hvordan Python husker tal, men Python kan også huske små tekster for dig. De små tekster kalder Python for strenge og en variable kan indeholde en streng.

Du vil i dette afsnit også se nogle andre ting du kan gøre i Python

Prøv at taste følgende lille Python program ind:

# Python: eks2-3-1.py
# Hvad hedder du?
navn = input("Hvad hedder du? ")
print("Hej " + navn)

Den første linje efter kommentaren er ny. Den beder dig taste dit navn ind og lægge det i variablen navn. Typen af variablen er kalder vi en streng fordi den består af en række bogstaver og tal.

Strenge altså en variable, som vi bruger til gemme navne, steder og andre ting i vores programmer.

Den næste linje er en print, som er brugt før. Den skriver “Hej Bo”, hvis du altså hedder Bo. Linjen viser også at Python kan lægge strenge sammen, så to korte strenge bliver til en lang streng.

# -*- coding: iso-8859-15 -*-
# Python: eks2-3-2.py
# To strenge
a = "2"
b = "4"
# Udskriv resultatet
print("Resultatet er " + a + b)

Det er let 2 + 4 det er 6. Men skriver den det? Nej, Python skriver noget andet, fordi a og b er af typen streng (eller string på engelsk).

Hvis du vil have Python til at regne resultatet ud for dig skal du ændre typen af variablen, sådan her:

int er en forkortelse for integer, som betyder heltal, og int(a) ændrer variablerne a og b til fra at være en streng til at et heltal.

c er af typen heltal (int) og når den skal udskrives skal typen konverteres til en streng med str. Nu har du lært nok til at du kan lave en lille regnemaskine, som kan lægge to tal sammen.

Det kan følgende lille Python kode gøre

# -*- coding: iso-8859-15 -*-
# Python: eks2-3-4.py
# To strenge
a = "2"
b = "4"
c = int(a) + int(b)
# Udskriv resultatet
print("Resultat er "+ str(c))

Prøv at køre programmet. Du skal indtaste to tal f.eks 4 og 5 og programmet regner summen ud for dig. Hvad sker der hvis du indtaster dit navn i stedet. Hvad sker?

Python kommer med en fejlmeddelse, som ser sådan ud:

Indtast et tal: Ib
Indtast et tal: Bo
Traceback (most recent call last):
  File "eks2-3-4.py", line 9, in 
    sum = int(tal_1) + int(tal_2)
ValueError: invalid literal for int() with base 10: 'Ib'

Årsagen er at du ikke har indtastet et tal. Python forsøger at ændre typen af variablen tal_1 til et heltal, men værdien af tal_1 kan ikke ændres til til et heltal. Python siger at det må du ikke.

Hvad nu hvis du vil noget andet end lægge tal sammen og lade den som bruger dit Python bestemmer. Det lærer du i næste kapitel

Du har lært

  • En streng er en variable til må tekster
  • Få input fra brugeren til en variable
  • Ændre typen på en variable så du kan bruge den