Information från användaren
Indata (input) syftar till information som programmet läser in från omvärlden. Det kan handla om allt från indata från tangentbordet eller musklick till sensorer. I Python används input
för att läsa in en rad text som användaren matar in. input
kan också användas för att skriva ut ett meddelande till användaren för att be om någon specifik information.
Det här programmet läser in användarens namn med hjälp av input
. Därefter skriver programmet ut namnet med print
:
namn = input("Ange ditt namn: ")
print("Hej på dig, " + namn)
När programmet körs, kan det se ut så här (indata från användaren markerat med rött):
Ange ditt namn: Pauline Python Hej på dig, Pauline Python
Vad programmet skriver ut beror här på den information som användaren ger. Utskriften kommer alltså att variera beroende på vad användaren matar in:
Ange ditt namn: Kira Kodare Hej på dig, Kira Kodare
Ordet namn
i programmet ovan är en variabel. Inom programmering är en variabel ett ställe för att lagra ett värde – till exempel en sträng eller ett nummer. Värdet kan användas senare och det kan också ändras.
Hänvisa till en variabel
En viss variabel kan hänvisas till flera gånger i ett program:
namn = input("Ange ditt namn: ")
print("Hej, " + namn + "!")
print(namn + " är ett ganska fint namn.")
Om användaren ger namnet Paulus Python
, skriver programmet ut följande rader:
Ange ditt namn: Paulus Python Hej, Paulus Python! Paulus Python är ett ganska fint namn.
Låt oss undersöka närmare hur print
används ovan. Mellan parenteserna i instruktionen finns det både text inom citattecken och namn på variabler, som hänvisar till indata från användaren. De har kombinerats med +
-operatorn, som kombinerar två strängar till en sträng.
Strängar och variabler kan kombineras ganska fritt:
namn = input("Ange ditt namn: ")
print("Hej " + namn + "! Ditt namn var alltså " + namn + "?")
Om användaren ger namnet Ellen Exempel
, skrivs följande ut:
Ange ditt namn: Ellen Exempel Hej Ellen Exempel! Ditt namn var alltså Ellen Exempel?
Samla mera data
Ett program kan be användaren att mata in data flera gånger. Observera att vi då behöver flera variabler för att lagra de olika värdena som användaren matar in via input
.
namn = input("Ange ditt namn: ")
epost = input("Ange din e-postadress: ")
smeknamn = input("Ange ditt smeknamn: ")
print("Vi kollar ännu att alla uppgifter är korrekta")
print("Ditt namn: " + namn)
print("Din e-postadress: " + epost)
print("Ditt smeknamn: " + smeknamn)
Programmet kunde till exempel fungera så här när det körs:
Ange ditt namn: Per-Pierre Påhittad Ange din e-postadress: perpierre01@example.com Ange ditt smeknamn: PP Vi kollar ännu att alla uppgifter är korrekta Ditt namn: Per-Pierre Påhittad Din e-postadress: perpierre01@example.com Ditt smeknamn: PP
Om en och samma variabel används för att lagra indata flera gånger kommer det nyaste värdet alltid att ersätta det föregående värdet. Till exempel:
gata = input("Vilken är din gatuadress? ")
print("Du bor alltså på " + gata)
gata = input("Ange en ny gatuadress: ")
print("Gatuadressen är nu " + gata)
Så här kan det se ut när programmet körs:
Vilken är din gatuadress? Pythonparken 7 Du bor alltså på Pythonparken 7 Ange en ny gatuadress: Gredelingatan 17 B 231 Gatuadressen är nu Gredelingatan 17 B 231
Det här betyder att om samma variabel används för att lagra indata två gånger i rad så kommer det första värdet inte längre att vara tillgängligt efter att det har ersatts:
gata = input("Vilken är din gatuadress? ")
gata = input("Ange en ny gatuadress: ")
print("Gatuadressen är nu " + gata)
Så här kan det se ut när programmet körs:
Vilken är din gatuadress? Slitagestigen 2 Ange en ny gatuadress: Värjan 1 Gatuadressen är nu Värjan 1
Du hittar ett repetitionsquiz för denna del här:
Log in to view the quiz
Se dina poäng genom att klicka på cirkeln nere till höger av sidan.