Wklejanie wielu linii (odczytywanych jako pojedyncza linia / wejścia) do konsoli Spyder

Jan 14 2021

Powiedzmy, że muszę pobrać 3 dane wejściowe od użytkownika (imię i nazwisko, wiek, lokalizacja):

Jim Halpert
30
Scranton

i piszę kod następująco:

name = input()
age = input()
location = input()

Teraz zamiast wpisywać je jeden po drugim, po prostu kopiuję i wklejam je z pliku tekstowego, ale kiedy wklejam je do konsoli, nie są odczytywane jako osobne dane wejściowe. W rzeczywistości są one pokazane w następujący sposób:

Jim Halpert
...: 30
...: Scranton

Moje pytanie brzmi: czy istnieje sposób, aby Spyder odczytywał je jako osobne dane wejściowe? Dziękuję za pomoc.

Odpowiedzi

2 RichardD Jan 14 2021 at 10:04

możesz użyć .splitlines ()


name, age, location  = input().splitlines()
print(name)
print(age)
print(location)

w tym przypadku wszystkie trzy zmienne byłyby również przechowywane jako łańcuchy. Jeśli obliczasz wiek, musisz go przekonwertować.

age = int(age)

gdyby wszystkie dane wejściowe były na przykład intami, mógłbyś to zrobić

x, y, z = [int(x) for x in input().splitlines()]