Odczytywanie danych wejściowych wprowadzonych za pomocą klawiatury

Ukończone

Wiele programów jest interaktywnych. Obsługa interakcyjności oznacza, że masz program, który działa inaczej w zależności od danych wejściowych. Osoba, która wprowadza dane do programu, zazwyczaj jest użytkownikiem, ale może to być inny program. Istnieje wiele sposobów wysyłania danych wejściowych do programu; Dwa typowe sposoby to za pośrednictwem interfejsu graficznego lub konsoli.

Dane wejściowe użytkownika

Funkcja input() języka Python umożliwia odczytywanie danych wejściowych wprowadzonych za pomocą klawiatury. Funkcja input() odczytuje dane wpisane przez użytkownika za pomocą klawiatury i zwraca je w formie ciągu. Oto przykład, który łączy input() i print() przechwytuje imię i nazwisko osoby i wyświetla je na ekranie:

name = input('Enter your name:')
print(name)

Ciąg przekazany jako argument funkcji input to monit, który użytkownik zobaczy. W tym przykładzie poprosisz użytkownika o wpisanie swojej nazwy ('Wprowadź swoją nazwę'). Gdy użytkownik wpisze swoje imię i naciśnie klawisz Enter, funkcja input zwróci dane. Zwracana wartość funkcji to tekst wpisany przez użytkownika, a tekst jest przypisany do zmiennej o nazwie name. Zmienna name jest następnie używana jako dane wejściowe lub argument funkcji print , co spowoduje wyprowadzenie nazwy wprowadzonej przez użytkownika.

Można również wywołać funkcję input bez parametru:

print('What is your name?')
name = input()
print(name)

Ten program działa niemal tak samo, jak ten pierwszy. Różnica polega na tym, że polecenie print (domyślnie) dodaje nowy wiersz do danych wyjściowych.

Odczytywanie liczb jako danych wejściowych

Funkcja input zawsze zwraca wpisaną wartość w formie ciągu (tekstu). Ten wybór ma sens, ponieważ użytkownik może wprowadzić dowolną wartość. Nawet jeśli dane wejściowe prawidłową liczbą, funkcja input i tak zwraca je w formie ciągu. Przykład:

x = input('Enter a number: ')
print(type(x))

Uruchomienie tego kodu i wprowadzenie wartości "5" spowoduje wyświetlenie <class 'str'>wartości , mimo że sama wartość jest liczbowa. Aby przekształcić tę wartość w prawdziwą zmienną w postaci liczby całkowitej, można użyć funkcji int():

x = int(input('Enter a number: '))
print(type(x))

Ten kod zwróci dla wprowadzonej wartości „5” dane wyjściowe w formie <class 'int'>. W ten sam sposób można użyć funkcji float, jeśli oczekujemy składnika ułamkowego.

Ważne

Co się stanie, jeśli do funkcji int() zostaną przekazane dane wejściowe, które nie są liczbowe? Jak można się spodziewać, będzie to błąd i spowoduje błąd środowiska uruchomieniowego. Program zakończy się na tej instrukcji; Możesz wypróbować go samodzielnie w interaktywnej konsoli języka Python. W kolejnych modułach omówimy różne sposoby obsługi tego rodzaju błędów.

Konwertowanie liczb na ciągi

Można też pójść w przeciwnym kierunku. Metoda str() będzie przyjmować wartość całkowitą lub zmiennoprzecinkową i przekształcić ją w ciąg. str() Wywołanie metody jest wymagane, jeśli chcesz, aby poniższy przykład kodu działał. Konwersja zapewnia, że liczba całkowita w postaci ciągu jest połączona z ciągiem po lewej stronie.

x = 5
print('The number is ' + str(x))