Logga in för att kunna spara vad du har gjort.
<< Föregående
Hem
Nästa >>
VARNING! Fönstret är för smalt för att använda pythonlabbet.se fullt ut. Använd en enhet med tangentbord!

Indata från användaren

I det här avsnittet kommer du att lära dig att

Funktionen input

De flesta program behöver någon sorts indata från användaren. Ofta kommunicerar användaren med programmet genom musen eller tangentbordet, men det kan också vara en fil som är indata till programmet. Vi ska titta på hur vi kan skriva in information till programmet med tangentbordet.

Med funktionen input läser Python en rad text från användaren. Här på Pythonlabbet kommer det upp en popup-ruta där du kan skriva när du använder input-funktionen. Resultat av input är en sträng, vi säger att funktionen input returnerar en sträng.

Exempel

Läser in en rad text och skriver sedan ut vad du har skrivit.

text = input()
print(text)

Exempel

Du kan skriva ett meddelande till användaren i argumentet till input.

namn = input('Vad heter du?')
print('Hej ' + namn + '!')

Logga in eller skapa konto för att spara dina framsteg och din kod.

Vad gör koden?

Läs koden nedan och försök lista ut vad programmet skriver ut. Kör programmet efter du svarat och se om du fick rätt.

-- Programmets utskrifter --

Fråga: Vad kommer programmet ovan att skriva ut?

<class 'float'>
<class 'int'>
<class 'str'>

Input-funktionen ger oss alltså en sträng. Vi säger att funktionen returnerar en sträng. Det innebär att vi måste konvertera returvärdet om vi frågar användaren efter ett tal och vi sedan vill räkna med det. Risken är att användaren skriver något som inte går att konvertera till ett tal och då fungerar inte vårt program. Det går att lösa med felhantering men det ska vi inte lära oss nu.

Exempel

Räkna ut arean av en kvadrat. Prova gärna ett decimaltal, tänk på att använda punkt. Vad händer om du skriver in något som inte kan omvandlas till ett tal?

sida = input('Skriv in kvadratens sida:')
#strängen sida måste nu omvandlas till ett decimaltal
sida = float(sida)
area = sida * sida

Logga in eller skapa konto för att spara dina framsteg och din kod.

Hitta felet

Koden fungerar inte som den ska. Kan du fixa det? Tänk på att decimaltal ska fungera som indata.

-- Programmets utskrifter --

Logga in eller skapa konto för att spara dina framsteg och din kod.

Räkna ut arean på en triangel

Programmet ska ta två inputs från användaren: höjden och basen på en triangel. Skriv ut arean på triangeln (skriv bara ut talet). Programmet ska klara av decimaltal.

-- Programmets utskrifter --
Status
Du har inte gjort klart någon uppgift än (0 st).