Standardowe wejście

https://docs.python.org/3/tutorial/inputoutput.html

https://docs.python.org/3/library/io.html

WPROWADZENIE

W Pythonie 2 funkcja input() próbuje interpretować wprowadzone dane i z tego powodu jest powolna i raczej niebezpieczna. Lepiej wczytać dane jako string za pomocą funkcji raw_input(), a następnie rzutować na potrzebny typ. W razie potrzeby możemy się zabezpieczyć przez try/except.

W Pythonie 3 istnieje tylko funkcja input(), która działa tak jak raw_input() w Pythonie 2 i zwraca zawsze string.


# Składnia w Py2.
# raw_input([prompt]) - zwraca string
# input([prompt]) - zwraca wartości różnych typów
# równoważne eval(raw_input(prompt))

word = raw_input(prompt)
variable = input(prompt)

# Przy input() wynik może być typu int, float lub inny (Py2).
# Jeżeli chcemy mieć na pewno int, to można zrobić tak:
# n = int(raw_input("Podaj int: "))
# Jeżeli wejście nie będzie pasowało do int, to będzie rzucony wyjątek.

line = raw_input("Podaj napis: ")   # Py2

n = input("Podaj liczbe: ")   # Py2
print(type(n))   # może być int, float lub coś innego
print("Podana liczba:", n)

# Składnia w Py3.
# input([prompt]) - zwraca string (Py3)

word = input(prompt)

# Korzystanie z modułu sys.
# Obiekt sys.stdin jest typu file, mode "r".

import sys
line = sys.stdin.readline()

# Można skorzystać z try/except i używać tej samej nazwy input() w Py2 i Py3.
try:
    input = raw_input
except NameError:   # jesteśmy w Py3
    pass