[Für Anfänger] Zusammenfassung der Standardeingabe in Python (mit Erklärung)

Einführung

__ * Dieser Artikel richtet sich an Personen, die Probleme beim Verstehen von Standardeingaben wie AtCoder und Paiza haben. __ __

Es gibt viele Arten und es mag schwierig erscheinen, aber in Wirklichkeit wählen wir nur die aus, die der Art der Eingabe entspricht.

Zuerst müssen Sie sich überhaupt nicht daran erinnern, also gewöhnen wir uns Stück für Stück daran und überprüfen es jedes Mal.

Hinweis) __ Dieser Artikel ist für Anfänger. __ Da wir dem Verständnis von Anfängern Vorrang einräumen, sind einige unzureichende Formulierungen usw. enthalten, aber wir bedanken uns für Ihr Verständnis.

Welcher Code verwendet werden soll

In Atcoder- und Paiza-Problemen hat der Code, der die Standardeingabe akzeptiert, zwei Hauptüberlegungen:

Von diesen wird der zweite allmählich klar, wenn Sie das Problem wiederholt lösen, sodass sich dieser Artikel auf den ersten konzentriert.

Einzeilige Eingabe

Eingang

abc  #String
12   #String(Auch wenn es wie eine Zahl aussieht, wird es so wie es ist als Zeichenfolge behandelt)

Code

source.py


a = input()
a = int(input())

print

output.py


abc  #String
12   #Zahlen

__input () ist eine Funktion, die Eingaben als einzeilige Zeichenfolge empfängt. __ __ (Da a in a = input () ein Variablenname ist, können Sie ihn frei ändern.) In a = input () wird der von input () empfangene String abc in der Variablen a gespeichert.

__int () ist eine Funktion, die das Innere von () in eine Zahl (Ganzzahl) konvertiert. __ __ Wenn Sie Nummern erhalten möchten, verwenden Sie __int () __. Int (input ()) konvertiert das, was von input () (immer noch eine Zeichenfolge) empfangen wurde, in eine Ganzzahl von int ().

Entwicklungszeichenfolge → Liste

Eingang

abc

Code

source.py


list_a = list(input())

print

output.py


['a', 'b', 'c']

Sie können eine Zeichenfolge mit __list () __ in eine Liste konvertieren. Es ist nicht sehr häufig, aber es ist einfach, also lasst es uns verfügbar machen.

Mehrere Eingänge pro Zeile

Eingang

apple lemon grape

Code

source.py


list_a = input().split()
red, yellow, purple = input().split()

print

output.py


['apple', 'lemon', 'grape']
apple #print(red)

__split () ist eine Funktion, die eine Zeichenfolge in eine Liste aufteilt. __ __ Wenn mehrere Eingaben durch Leerzeichen getrennt sind, kann split () verwendet werden, um jedes Element zu einer Liste zu machen. Wenn Sie sie einzeln empfangen möchten, müssen Sie so viele Variablen wie möglich vorbereiten. (Wenn nicht genügend Zahlen vorhanden sind, tritt ein Fehler auf.)

Wenn Sie Entwicklungszahlen erstellen möchten

Eingang

1 2 3

Code

source.py


list_a = list(map(int,input().split()))
x, y, z = map(int,input().split())

print

output.py


[1, 2, 3]
1 #print(x)

__map () ist eine Funktion, die eine andere Funktion auf eine Liste oder ähnliches anwendet. __ (sehr vereinfacht erklärt) Verwenden Sie map () wie map (Funktion, die Sie verwenden möchten, Liste der Ziele usw.). Es ist ein wenig kompliziert, also lassen Sie uns den Prozess der Liste (map (int, input (). Split ())) aufschlüsseln.

  1. Nehmen Sie zuerst die Eingabe mit input () ('1 2 3') und teilen Sie sie mit split () (['1', '2', '3']).
  2. map ( Funktion, Liste usw. __) __ wendet "Funktion" auf "Liste usw." an. Wenden Sie diesmal int () auf input () an. Split () --- (['1', '2', '3']), um eine Zahl daraus zu machen.
  3. map () gibt jedoch als Ergebnis ein Kartenobjekt zurück und kann nicht so behandelt werden, wie es ist.
  4. Um damit umgehen zu können, habe ich es schließlich in eine Liste konvertiert. (Wenn Sie dies nicht tun, sehen Sie unter 0x7fbff01922e8 so etwas wie ein Kartenobjekt.)

Sie können sie auch einzeln in Variablen empfangen, anstatt sie wie mit Zeichenfolgen aufzulisten.

Mehrere Zeilen geben eine für jede Zeile ein

Eingang

3
apple
lemon
grape

Code

source.py


n = int(input())
list_a = [input() for i in range(n)]

print

output.py


['apple', 'lemon', 'grape']

Bei mehrzeiligen Eingaben wird häufig zuerst die Anzahl der Eingabezeilen angegeben. Dieser Code empfängt n Eingabezeilen und speichert dann n Eingabezeilen (diesmal 3 Zeilen) in einer Liste.

Das Schreiben wie [input () für i in range (n)] heißt __list Inclusion notation __. Es wiederholt input () n Mal und speichert es in der Reihenfolge in der Liste. Es wird oft verwendet, weil es die Liste einfach macht, aber es sieht kompliziert aus, bis Sie sich daran gewöhnt haben, sodass Sie nicht lernen müssen, wie es funktioniert. (Wenn Sie mehrmals an dem Problem arbeiten, werden Sie es natürlich verstehen.)

Der obige Code hat den gleichen Inhalt wie der folgende Code.

source.py


n = int(input())
list_a = []

for i in range(n):
    kudamono = input()
    list_a.append(kudamono)

Wenn Sie Entwicklungszahlen erstellen möchten

Eingang

3 #Repräsentiert die Anzahl der Eingabezeilen
1
2
3

Code

source.py


n = int(input())
list_a = [int(input()) for i in range(n)]

print

output.py


[1, 2, 3]

Es ist in Ordnung, wenn Sie den input () - Teil des vorherigen Codes als int (input ()) festlegen und jede Eingabe in eine Zahl konvertieren.

Die Eingabe mehrerer Zeilen ist für jede Zeile mehrfach

Eingang

3
a b
c d
e f

Code

source.py


n = int(input())
list_a = [input().split() for i in range(n)]

print

output.py


[['a', 'b'], ['c', 'd'], ['e', 'f']]
['c', 'd']  #print(list_a[1])
e           #print(list_a[2][0]) 

Wenn es mehrere Zeilen mit mehreren Eingaben wie diesen gibt, funktioniert es in den meisten Fällen, wenn Sie sie als zweidimensionales Array empfangen. Als Inhalt von "Mehrere Eingaben pro Zeile" ist input (). Split () eine Liste für sich. Es ist daher leicht vorstellbar, wenn Sie der Meinung sind, dass die Eingabe einer großen list_a-Liste dreimal wiederholt wird. Überlegen.

Wenn Sie Entwicklungszahlen erstellen möchten

Eingang

3 #Repräsentiert die Anzahl der Eingabezeilen
1 2
3 4
5 6

Code

source.py


n = int(input())
list_a = [list(map(int,input().split())) for i in range(n)]

print

output.py


[[1, 2], [3, 4], [5, 6]]

Es sieht kompliziert aus, aber ich wiederhole die Arbeit, wenn die Eingabe eine Zeile ist. Sie können sehen, dass dies auch die Arbeit von "mehreren Eingaben pro Zeile (wenn Sie Zahlen machen möchten)" für die Anzahl der Eingabezeilen wiederholt.

Schließlich

Wie eingangs erwähnt, muss man nicht versuchen, sich an alles auf einmal zu erinnern. __ __ Selbst beim Kopieren und Einfügen werden Sie natürlich in den Sinn kommen, wenn Sie verschiedene Probleme ausprobieren und Ihr Sprachverständnis vertiefen. Ich hoffe diese Seite hilft dir.

Wenn Sie etwas schwer zu verstehen finden, lassen Sie es bitte im Kommentarbereich.

Recommended Posts

[Für Anfänger] Zusammenfassung der Standardeingabe in Python (mit Erklärung)
Zusammenfassung verschiedener for-Anweisungen in Python
Atcoder-Standardeingabesatz für Anfänger (Python)
[Einführung für Anfänger] Umgang mit MySQL mit Python
Grundlegende Geschichte der Vererbung in Python (für Anfänger)
Standardeingabe / Zusammenfassung / Python, Ruby
Zusammenfassung der Tools zum Betreiben der Windows-Benutzeroberfläche mit Python
Zusammenfassung der Vorverarbeitungsmethoden für Python-Anfänger (Pandas-Datenrahmen)
Datenanalyse in Python Zusammenfassung der Quellen, die Anfänger zuerst betrachten sollten
Python3-Standardeingabe für wettbewerbsfähige Programmierung
Matrixdarstellung mit Python-Standardeingabe
Führen Sie unittest in Python aus (für Anfänger)
[Für Anfänger von Wettkampfprofis] Drei Eingabemethoden, die Sie beim Starten der Wettkampfprogrammierung mit Python beachten sollten
Eine kurze Zusammenfassung von Graphviz in Python (nur für Mac erklärt)
Die Geschichte, einen Standardtreiber für db mit Python zu erstellen.
Zusammenfassung der Standardeingabe von Python, die in Competition Pro verwendet werden kann
INSERT in MySQL mit Python [Für Anfänger]
[Python] Protokoll des Studientreffens für Anfänger (7/15)
Tipps zum Umgang mit Binärdateien in Python
Verarbeiten Sie mehrere Listen mit for in Python
UnicodeEncodeError hat Probleme mit der Standardausgabe von Python3
[Python] Bilder mit OpenCV lesen (für Anfänger)
Zusammenfassung der integrierten Methoden usw. der Python-Liste
Zusammenfassung nützlicher Techniken von Scrapy in Python
WebApi-Erstellung mit Python (CRUD-Erstellung) Für Anfänger
[Für Anfänger] Versuchen Sie Web Scraping mit Python
[Python] Standardeingabe
Leicht verständliche Erklärung der Python-Webanwendung (Django) auch für Anfänger (5) [Einführung in den DB-Betrieb mit Django-Shell]
Zusammenfassung der Standardeingaben
Grundlegende Zusammenfassung des Scrapings mit Anfragen, die Anfänger absolut verstehen können [Python]
Leicht verständliche Erklärung der Python-Webanwendung (Django) auch für Anfänger (2) [Projekterstellung]
Erläuterung zum Erstellen einer Anwendung zum Anzeigen von Bildern und Zeichnen mit Python
Leicht verständliche Erklärung der Python-Webanwendung (Django) auch für Anfänger (1) [Umgebungskonstruktion]
Hinweise für Python-Anfänger mit Erfahrung in anderen Sprachen 12 (+1) Elemente nach Funktion
Kausales Denken und kausale Suche von Python (für Anfänger)
Zusammenfassung zum Importieren von Dateien in Python 3
Zusammenfassung der Verwendung von MNIST mit Python
~ Tipps für Python-Anfänger mit Liebe von Pythonista ① ~
Versuchen Sie, RPN mit Python zu berechnen (für Anfänger)
Einfaches Verständnis von Python für & Arrays (für Super-Anfänger)
[Python] Zusammenfassung der S3-Dateivorgänge mit boto3
Zusammenfassung häufig verwendeter Python-Arrays (für mich)
Primfaktor-Zerlegung Version 2 der in Python eingegebenen Ganzzahlen
~ Tipps für Python-Anfänger mit Liebe von Pythonista ② ~
Erläuterung der Bearbeitungsentfernung und Implementierung in Python
Zusammenfassung der Excel-Operationen mit OpenPyXL in Python
Einstellungen für den Einstieg in MongoDB mit Python
Competitive Pro mit Python und VSCode-Vereinfachung der Standardeingabe und Automatisierung der Beurteilung von Beispielfällen
Leicht verständliche Erklärung der Python-Webanwendung (Django) auch für Anfänger (3) [Anwendungserstellung / DB-Einstellung]
Tastenanschlag in Python
Python Lehrbuch für Anfänger
Zusammenfassung der Python-Argumente
Tastenanschlag in Python
[Python] Informationen zur Standardeingabe
OpenCV für Python-Anfänger
Zusammenfassung der Standardeingabe / -ausgabe
Janken Poi in Python für Anfänger (Antworten und Erklärungen)
[Für Anfänger] Wie man den Befehl say mit Python benutzt!
Spezifischer Beispielcode für die Arbeit mit SQLite3 in Python
Schlüsseleingabe, die nicht auf Schlüsseleingabe in Python wartet