input() och variabler
Med input() kan vi ta emot information från användaren. Vi sparar svaret i en variabel (se längre ned på sidan), så att vi kan använda det senare.
namn = input("Vad heter du? ")
print("Hej", namn)I exemplet ovan:
input()visar en fråga och väntar på att användaren ska skriva något.namnblir en variabel som innehåller det användaren skrev.- Vi använder sedan
print()för att hälsa personen välkommen. - Värdet från
input()är alltid av typen string (text). Datatyper går vi igenom i nästa lektion.
Tips: Behöver du ett tal, konvertera direkt:
age = int( input("Hur gammal är du? ") )
print("Nästa år är du", age + 1)Vad är en variabel?
Vad är en variabel?
En variabel är som en låda där vi sparar information. Varje gång vi vill komma åt innehållet använder vi lådans namn. I programmering används variabler för att lagra data som t.ex. namn, ålder eller resultat.
I Python kan man använda svenska tecken som å, ä och ö – men det funkar inte i alla språk. Ha för vana att undvika å/ä/ö och använd engelska, t.ex. age i stället för ålder. Det gör koden mer allmänt läsbar.
Exempel:
name = "Oskar"
print(name) # -> OskarHär skapas en variabel som heter namn, och i den ligger texten "Oskar". När du skriver print(namn) så kommer det stå:
OskarDu kan ge dina variabler nästan vilka namn du vill – men det är bra att namnge dem så att man förstår vad de innehåller.
Du kan också ändra vad som finns i en variabel:
age = 16
age = age + 1
print("Nästa år är du", age)Namngivning: små/stora bokstäver, regler och stil
- Skiftlägeskänsligt:
name,NameochNAMEär tre olika variabler. - Det blir inte en konstant av sig själv: Att skriva med versaler gör inte värdet låst.
- Regler:
- Får börja med bokstav eller underscore
_. - Kan innehålla bokstäver, siffror och underscore:
first_name,score2. - Får inte börja med siffra:
2names❌ - Får inte innehålla mellanslag:
first name❌ - Får inte vara ett nyckelord (t.ex.
class,for,if).
- Får börja med bokstav eller underscore
- Stil (PEP 8): använd snake_case och små bokstäver för vanliga variabler:
total_points,user_input.
Exempel på bra/dåliga namn:
# Bra
user_name = "Aida"
max_points = 100
score2 = 87
# Dåligt
FirstName = "Aida" # Ser ut som klassnamn, bryter mot stil
first name = "Aida" # Mellanslag -> ogiltigt
2score = 87 # Börjar med siffra -> ogiltigt
class = 1 # Nyckelord -> ogiltigt“Konstanter” i Python – konvention, inte regel
I många språk finns konstanter som inte kan ändras. I Python finns inte det inbyggt. Vi skriver med versaler för att visa att värdet ska ses som konstant av oss människor:
PI = 3.14159
MAX_SPEED = 120Python hindrar inte att du ändrar dessa – så låt bli att ändra dem av disciplin:
PI = 3.14159
PI = 3 # Tekniskt möjligt, men dålig stilTesta själv:
Skapa ett program som frågar efter:
- Namn
- Ålder
- Favoritfärg
…och sedan skriver ut ett meddelande som t.ex.Hej Oskar, 16 år gammal! Blå är en fin färg!