PYTHON

PYTHON Zmienne | Pobranie wartości od użytkownika

Do pobrania wartości od użytkownika służy polecenie:

input("komunikat")

Komunikat zawarty pomiędzy nawiasami okrągłymi jest opcjonalny, jednak przekazuje użytkownikowi czego od niego oczekujemy.

Zobaczmy to na przykładzie:

imie = input("Jak masz na imię? ")
print("Twoje imię to",imie)

Zapiszmy ten kod w pliku imie.py i uruchommy.

Efektem uruchomienia naszego programu będzie wypisanie na ekran:

Jak masz na imię?

Program będzie oczekiwał w tym momencie od użytkownika wpisania swojego imienia.

Tak może wyglądać przykładowa interakcja z użytkownikiem:

Jak masz na imię? Krzysztof
Twoje imię to Krzysztof

 

Ważne: każda wartość przyjęta przez input jest typu string

 

Jeśli zatem zapytamy użytkownika o wiek i będziemy chcieli wypisać informację ile lat miał 10 lat temu, napotkamy na pewien problem. Od zmiennej typu string nie odejmiemy liczby.

Zobaczmy kod takiego programu:

wiek = input("Ile masz lat? ")
wiek_minus_10 = wiek - 10
print("Twój wiek 10 lat temu to",wiek_minus_10)

Efektem uruchomienia naszego programu będzie oczywiście pytanie o wiek, jednak po jego podaniu na naszych oczach ukaże się następujący błąd: TypeError: unsupported operand type(s) for -: ‘str’ and ‘int’

Nie można od zmiennej typu string odjąć liczby. Musimy zatem wymusić na programie, aby zamienił wczytaną od użytkownika wartość na liczbę całkowitą.

Poniższy przykład przedstawia w jaki sposób możemy tego dokonać:

wiek = int(input("Ile masz lat? "))
wiek_minus_10 = wiek - 10
print("Twój wiek 10 lat temu to",wiek_minus_10)

Analogicznie moglibyśmy za pomocą operatora float() zamienić podaną wartość na liczbę zmiennoprzecinkową.