W ostatniej lekcji mówilśmy o danych wprowadzanych przez użytkownika, ale nie wyjaśniliśmy, w jaki sposób użytkownik to robi. W Pythonie użytkownik jednorazowo wprowadza jedną linię. Aby uzyskać linię wejściową od użytkownika, należy użyć funkcji
. Funkcja input()
input()
nie zawiera argumentów i zawsze zwraca str
(łańcuch).
Na tej stronie internetowej wszystkie dane wejściowe są wprowadzone przed uruchomieniem programu przez nasz automatyczny tester. Jeśli uruchamiasz interaktywnie Pythona w domue wtedy po poleceniu input() następuje zatrzymanie programu do czasu, aż użytkownik wpisze wiersz tekstu.Ponadto podczas tego typu pracy interaktywnej można skorzystać z faktu, że input() akceptuje opcjonalnie łańcuch, które będzie interpretowany jako monit dla użytkownika, np.
number = input("Wpisz liczbę z zakresu od 0 do 100.") |
Oto przykład użycia input(
) w celu uzyskania danych wejściowych. Nasz automatyczny tester, zamiast użytkownika, sam określa dane wejście dla programu.
- Przez wielokrotne wywołanie funkcji
input()
można uzyskać wiele linii wprowadzania. Pierwsze wywołanieinput(
) pobiera pierwszą linię, drugie pobiera drugą linię, itd. - Łańcuch otrzymany z
input()
może być konwertowany doint
lubfloat
(podobnie jak w lekcji 4). - Po uruchomieniu programu, przy drugim testowaniu jest podana dodatkowo trzecia linia wejściowa. Nie jest ona jednak czytana, ponieważ
input()
jest tylko dwukrotnie wywoływane.
Od tej pory w większości ćwiczeń możesz stosować własne testowe dane wejściowe. Wypróbuj następujący eksperyment: powyżej naciśnij przycisk Wprowadź dane. Pozostaw puste pole. Następnie naciśnij przycisk Uruchom test. Powinien pojawić się błąd.
EOFError: EOF podczas czytania liniiAkronim EOF oznacza skrót od End Of File (koniec pliku). Ta wiadomość dosłownie oznacza, że program wywołał
input()
, ale nie otrzymał do odczytu żadnych danych wejściowych.
- Zwykle w naszych lekcjach dane wejściowe są dostarczane przez nasz automatyczny tester, więc ten błąd może oznaczać, że twój program zbyt wiele razy wywołuje
input()
. - Powyżej, zgodnie z poleceniem pozostawiłeś pole wprowadzania puste i spowodowałeś błąd - nie dostarczyłeś danych wejściowych, więc nawet jedno wywołanie
input()
było zbyt dużą ilością wywołańinput()
.
W następnym ćwiczeniu zostanie wyświetlony prośba o debugowanie programu, który nie działa i należy zmusić go do pracy. Należy zauważyć, że błąd nie jest literówką, ale raczej błędem logicznym: program nie został poprawnie zaprojektowany do wykonania swojej pracy, więc musisz go nieco przerobić.
Możesz kontynuować następną lekcję, która dotyczy
.if