[Für Anfänger von Wettkampfprofis] Drei Eingabemethoden, die Sie beim Starten der Wettkampfprogrammierung mit Python beachten sollten

Am 22. August 2020 debütierte er in Python für wettbewerbsfähige Programme. Mit dabei war AtCoder, was bei wettbewerbsfähiger Programmierung in Japan in den Sinn kommt.

Bevor ich anfing, Python zu lernen, habe ich mich tatsächlich als Mitglied registriert und war bereit zu beginnen. Wann haben Sie die letzten Fragen gelöst? ?? Ich habe mich sanft bei AtCoder im Lagerraum meines Herzens registriert.

Warum konnten Sie nicht an wettbewerbsfähiger Programmierung arbeiten?

Der Grund ist einfach.

** Weil ich in erster Linie auf den Standardeingabeteil in Python gestoßen bin orz **

Natürlich hatte ich bis dahin das Einführungsbuch zu Python gelesen, daher wusste ich, dass ich die Eingabe als Eingabemethode verwenden sollte. Mein Verständnis von Input war jedoch überwiegend unzureichend.

Apropos Eingabe, die im Python Primer verarbeitet wird

Apropos Eingabe: Sie wird in den Kapiteln 1 und 2 angezeigt, nachdem Sie die Umgebung im Python Primer eingerichtet haben. Ich werde auf den Beispielcode verzichten, aber der Beispielcode, der eine solche Ausgabe erzeugt, wird veröffentlicht.

$:Geben Sie den Text ein! : ○○
$:Hallo! ○○

Selbst wenn Sie mit den folgenden Kapiteln fortfahren, studieren Sie eher andere Inhalte als verschiedene Methoden zur Verwendung von Eingaben. Obwohl ich etwas über Input wusste, verstand ich es daher nicht. Ich forderte es zu wettbewerbsfähiger Programmierung heraus und wurde darauf aufmerksam gemacht. In einem Augenblick erstarrte mein Kopf und ich schloss die AtCoder-Registerkarte ...

So verwenden Sie 3 Eingaben, um sich zu erinnern, indem Sie frühere Fragen lösen

In der Zwischenzeit war ich motiviert, die wettbewerbsfähige Programmierung erneut zu versuchen, indem ich die Chancen erhöhte, Code richtig zu schreiben, und kehrte erneut zu AtCoder zurück.

** "Auch wenn ich diesmal nicht weiß, werde ich versuchen zu googeln, ohne einzufrieren." **

In diesem Sinne konnte ich bei gründlicher Untersuchung der Eingabemethode die A- und B-Probleme beheben. Das C-Problem kämpft mit dem Rechenaufwand O (N ^ 2) und leidet unter der "TLE" -Wand, die das Zeitlimit überschreitet ...

In der Zwischenzeit stellte sich heraus, dass der "Standardeingang" des Einführungsteils, über den ich gestolpert bin und den ich weggeworfen habe, hauptsächlich in den folgenden drei zusammengefasst wurde. ** ** **

Geben Sie eine Ganzzahl ein

a = int(input())

Ein Muster mit einer Ganzzahl in einer Zeile. Das B-Problem des AtCoder Beginner Contest 176 am 22. August 2020 war dieses Muster. Es gibt jedoch nur wenige Fälle, in denen nur eine Ganzzahl eingegeben wird, und es gibt viele Fälle, in denen die Fragen im Wesentlichen mit den beiden später beschriebenen Mustern kombiniert werden.

Geben Sie mehrere Ganzzahlen ein

a,b,c = map(int,input().split())

Dies ist ein Muster, bei dem die Anzahl der einzugebenden Ganzzahlen zunimmt und mehrfach wird. Das A-Problem im AtCoder Beginner Contest 176 war dieses Muster. Bei der Eingabe mehrerer Ganzzahlen in einer Zeile ist split () integriert, sodass sie durch Leerzeichen getrennt werden können.

Geben Sie eine Ganzzahl als Liste ein

A = list(map(int,input().split()))

Wenn Sie nicht entschieden haben, wie viele eingegeben werden sollen, speichern Sie die eingegebenen Ganzzahlen in der Liste. Das C-Problem im AtCoder Beginner Contest 176 war eine Kombination aus einer einzelnen Ganzzahl-Eingabe und einer Liste von Ganzzahl-Eingaben.

Durch das Erlernen dieser drei Eingabemethoden können Sie die Standardeingabe vermeiden, die der erste Stolperstein in der Wettbewerbsprogrammierung ist. Natürlich gibt es viele andere Eingabeformate, aber wenn Sie sie zu sehr verfolgen, wird Ihr Kopf überhitzt. ** Es ist auch wichtig, stolz zu erklären, dass Sie sich nicht erinnern können. ** ** **

Zusammenfassung / Am Ende

Vermeiden Sie den ersten Stolperstein "Standardeingabe" in der Wettbewerbsprogrammierung mit den folgenden drei

#Geben Sie eine Ganzzahl ein
a = int(input())
#Geben Sie mehrere Ganzzahlen ein
a,b,c = map(int,input().split())
#Geben Sie eine Ganzzahl als Liste ein
A = list(map(int,input().split()))

Wenn Sie die Probleme A und B lösen können, werden Sie motiviert sein, wettbewerbsfähige Programme zu erstellen!

Recommended Posts

[Für Anfänger von Wettkampfprofis] Drei Eingabemethoden, die Sie beim Starten der Wettkampfprogrammierung mit Python beachten sollten
[Für Anfänger] Zusammenfassung der Standardeingabe in Python (mit Erklärung)
Python3-Standardeingabe für wettbewerbsfähige Programmierung
Versuchen Sie, RPN mit Python zu berechnen (für Anfänger)
Einführung in die Programmierung (Python) TA Tendenz für Anfänger
Grundlegende Geschichte der Vererbung in Python (für Anfänger)
Datenanalyse in Python Zusammenfassung der Quellen, die Anfänger zuerst betrachten sollten
[Für Anfänger] Wie man den Befehl say mit Python benutzt!
~ Tipps für Python-Anfänger mit Liebe von Pythonista ③ ~
Die minimale Methode, die beim Aggregieren von Daten mit Pandas zu beachten ist
Betreff: Wettbewerbsfähiges Programmierleben von vorne anfangen Damit Anfänger noch etwas mehr Leistung erzielen ~ ABC154 ~ 156 mit Impressionen ~
Dinge, auf die Sie achten müssen, wenn Sie Standardargumente in Python verwenden
Eingabe / Ausgabe von Werten aus der Standardeingabe in der Wettbewerbsprogrammierung usw.
Python-Technik für diejenigen, die Anfänger loswerden wollen
Betreff: Wettbewerbsfähiges Programmierleben ab Null Kapitel 1.2 "Python der Tränen"
Führen Sie unittest in Python aus (für Anfänger)
Annäherungserklärung für Anfänger, um in Kaggle Titanic_3 unter den besten 1,5% (0,83732) zu sein
[Muss für Anfänger gelesen werden !?] Glossar der Begriffe, über die man beim Erlernen der Programmierung stolpern kann
Tipps (Eingabe / Ausgabe), die Sie beim Programmieren von Wettbewerben mit Python2 kennen sollten
Vorgehensweise von der AWS CDK (Python) -Entwicklung bis zur AWS-Ressourcenkonstruktion * Für Anfänger
Annäherungserklärung für Anfänger, um in Kaggle Titanic_1 unter den besten 1,5% (0,83732) zu sein
Fehler aufgrund von UnicodeDecodeError beim Lesen der CSV-Datei mit Python [Für Anfänger]
Ich überarbeitete "Ich habe versucht, Othello AI zu machen, als Programmieranfänger Python studierten"
Einführung in die Graph Database Neo4j in Python für Anfänger (für Mac OS X)
Annäherungserklärung für Anfänger, um in Kaggle Titanic_2 unter den besten 1,5% (0,83732) zu sein
[Python] Protokoll des Studientreffens für Anfänger (7/15)
"Python AI Programmierung" ab 0 für Windows
Zusammenfassung verschiedener for-Anweisungen in Python
Zusammenfassung der integrierten Methoden usw. der Python-Liste
[Wettbewerbsprogrammierung] [Python3] Notwendiges Wissen für sich
Atcoder-Standardeingabesatz für Anfänger (Python)
[Python] Was tun, wenn bei send_keys in Headless Chrome ein Fehler auftritt?
Dinge, die Sie bei der Verwendung von Python beachten sollten, wenn Sie MATLAB verwenden
[Für Anfänger] Unerwartetes Verhalten, wenn beim Festlegen des Pfads in Python "\" enthalten ist
Python-Skript zum Abrufen einer Liste von Eingabebeispielen für den AtCoder-Wettbewerb
Memo Nr. 4, dass Python-Anfänger "Detaillierte Erklärung der Python-Grammatik" lesen
Der schnellste Weg für Anfänger, um Python zu beherrschen
Eine Einführung in die objektorientierte Programmierung für Anfänger von Anfängern
Python für Super-Anfänger Super-Anfänger Python # Einfach loszuwerden
Zusammenfassung zum Importieren von Dateien in Python 3
Memo Nr. 3, dass Python-Anfänger "Detaillierte Erklärung der Python-Grammatik" lesen
Zusammenfassung der Verwendung von MNIST mit Python
Memo Nr. 1, dass Python-Anfänger "Detaillierte Erklärung der Python-Grammatik" lesen
Bildverarbeitung? Die Geschichte, Python für zu starten
Einfaches Verständnis von Python für & Arrays (für Super-Anfänger)
Memo Nr. 2, dass Python-Anfänger "Detaillierte Erklärung der Python-Grammatik" lesen
Programm zur vollständigen Suche nach Sequenzen (zur Wettbewerbsprogrammierung)
Primfaktor-Zerlegung Version 2 der in Python eingegebenen Ganzzahlen
Liste des zu verschiebenden und zu merkenden Python-Codes
Memo Nr. 7, dass Python-Anfänger "Detaillierte Erklärung der Python-Grammatik" lesen
Fehler beim Versuch, psycopg2 in Python zu installieren
Memo Nr. 6 für Python-Anfänger zum Lesen von "Detaillierte Erklärung der Python-Grammatik"
Wie man Python für Anfänger schneller macht [numpy]
[Für Anfänger] Wie man Programmierung studiert Private Memo
Memo Nr. 5, dass Python-Anfänger "Detaillierte Erklärung der Python-Grammatik" lesen
[Einführung für Anfänger] Umgang mit MySQL mit Python
[Für Anfänger] Einführung in die Vektorisierung beim maschinellen Lernen
[Python] Erstellen einer Umgebung für die Wettbewerbsprogrammierung mit Atom (input () kann verwendet werden!) [Mac]