Wettbewerbsprogrammierung mit Python Lokale Umgebungseinstellungen

Verwenden Sie Paizas Fähigkeitsüberprüfung als Python-Studie. Unter anderem dachte ich über eine Konfiguration nach, um die Standardeingabe lokal zu reproduzieren und zu testen. Machen Sie sich also eine Notiz. Bitte weisen Sie darauf hin, ob es einen Tippfehler, einen effizienteren Weg usw. gibt.

__ Hinzugefügt am 30. Dezember 2016 __ __ Es ist nicht erforderlich, eine solche Methode anzuwenden, und clarinet758 kommentierte dies. Mit der folgenden Methode war alles in Ordnung. __ __

$ python ./answer.py < ./input.txt

Vorbereitung

Installation von Python3. Einführung von Pyperclip zum Kopieren der Zwischenablage Referenz: Zwischenablage mit Python

Verzeichnisaufbau

.
├── answer.py #Datei zur Verbesserung der Produktionsumgebung
├── conv.py #Datei für die lokale Konvertierung
├── input.txt #Beispieldatei eingeben
└── proto.py #Hauptprogrammbeschreibungsdatei

Dateiinhalt

answer.py und input.py sind zunächst leer, also die beiden anderen.

proto.py - Zum Schreiben des Hauptprogramms

proto.py


#Erstellen einer lokalen Ausführungsumgebung
#Datei öffnen

inp =  open("input.txt", mode="r")

#----Programm von hier----



#----Programm bisher----

#Datei schließen
inp.close()

conv.py - Für die Konvertierung lokaler spezifischer Beschreibungen

conv.py


#Importieren Sie reguläre Ausdrücke
import re
#Importieren Sie das Modul zum Kopieren in die Zwischenablage
import pyperclip

#Dateien zur Konvertierung lesen
with open("proto.py", mode="r") as prot, open("answer.py", mode="w") as answ:
    #Laden der lokalen Umgebung
    for line in prot:
        #Ersetzen Sie für die lokale Entwicklungsumgebung spezifische Schlüsselwörter durch Standardeingaben
        tmp = line.replace('inp =  open("input.txt", mode="r")','')\
                 .replace('inp.readline()','input()')\
                 .replace('inp.close()','')
        #Kommentar löschen
        tmp = re.sub(r'#.*','',tmp)
        #Andere als Leerzeilen exportieren
        if tmp != '\n':
            answ.write(tmp)

#Lesen Sie die Antwort für die Kopie der Zwischenablage
with open("answer.py", mode="r") as answ:
    pyperclip.copy(answ.read())

Verfahren

1. Eingabebeispiel hinzufügen, Standardeingabe abrufen

Kopieren Sie zunächst das Beispiel für die Standardeingabe in die Datei input.txt. Auch Programm aus dem Kommentar von proto.py-Programm von hier. Für die Standardeingabe erhalten Sie Zeile für Zeile den folgenden Code.

proto.py


#Für 1 Zeile 1 Daten
date = inp.readline().rstrip() #rstrip entfernt Leerzeichen und Zeilenumbrüche ganz rechts

#Für mehrere Daten pro Zeile
date = inp.readline().rstrip().split(' ') #Liste nach leerem Trennzeichen nach Teilung

2. Programmieren, Testen

Wie gewohnt programmieren. Geben Sie jedes Mal den folgenden Befehl in das Terminal ein und suchen Sie, während Sie das Ergebnis überprüfen.

python


$ python proto.py

3. In Produktionsumgebung konvertieren, kopieren

Löschen Sie nach Abschluss das lokalspezifische Programm und konvertieren Sie es mit conv.py in die Standardeingabe. Kopieren Sie auch in die Zwischenablage. Alles was Sie tun müssen, ist es in das Einreichungsformular einzufügen.

python


$ python conv.py

Recommended Posts

Wettbewerbsprogrammierung mit Python Lokale Umgebungseinstellungen
Wettbewerbsfähige Programmierung mit Python
Python-Umgebungseinstellungen
3. 3. KI-Programmierung mit Python
Python-Programmierung mit Atom
Python-Umgebung mit Docker-Compose
Lokaler Server mit Python
Programmieren mit Python Flask
Virtuelle Umgebung mit Python 3.6
Programmieren mit Python und Tkinter
Installieren Sie die Python-Umgebung mit Anaconda
Verwalten Sie die Python-Umgebung mit virtualenv
Erstellen Sie eine Python3-Umgebung mit Ubuntu 16.04
Bereiten Sie die Python3-Umgebung mit Docker vor
Erstellen Sie mit direnv eine Python-Umgebung
Tipps zum Programmieren von Wettbewerben mit Python2
Netzwerkprogrammierung mit Python Scapy
[Python] Erstellen einer Umgebung für die Wettbewerbsprogrammierung mit Atom (input () kann verwendet werden!) [Mac]
Kenntnisse, die Sie beim Programmieren von Wettbewerben mit Python2 benötigen
Einstellungen der Python3-basierten maschinellen Lernumgebung auf dem Mac (Koexistenz mit Python2)
Python3-Standardeingabe für wettbewerbsfähige Programmierung
Beginnen Sie mit Python! ~ ① Umweltbau ~
Richten Sie mit Homebrew eine moderne Python-Umgebung ein
[Python] Mit Pokemon erlernte objektorientierte Programmierung
Erstellen Sie eine MySQL + Python-Umgebung mit Docker
Erstellen Sie eine virtuelle Umgebung mit Python!
Erstellen einer virtuellen Umgebung mit Python 3
Einfache Python + OpenCV-Programmierung mit Canopy
Emacs-Einstellungen für die Python-Entwicklungsumgebung
Python3-Umgebungskonstruktion mit pyenv-virtualenv (CentOS 7.3)
Python-Programmierworkshop - Ultra-Einführung in die Python-Ausführungsumgebung
pytorch @ python3.8 Umgebungskonstruktion mit pipenv
Richten Sie mit Atom eine Python-Entwicklungsumgebung ein
Tipps, die Sie beim Programmieren in Python2 kennen sollten (nützliche Bibliothek)
[Pyenv] Erstellen einer Python-Umgebung mit Ubuntu 16.04
[Ubuntu 18.04] Erstellen Sie eine Python-Umgebung mit pyenv + pipenv
[Python] Erstellen einer Umgebung mit Anaconda [Mac]
Ändern Sie die Python 64-Bit-Umgebung mit Anaconda in eine 32-Bit-Umgebung
Erstellen Sie mit Docker eine Jupyter Lab (Python) -Umgebung
[Entwicklungsumgebung] Python mit Xcode [Mit Bildschirmübergang]
Verwenden Sie smbus mit python3 in einer pyenv-Umgebung
Hinweise beim Erstellen einer Umgebung mit Python
[Python] Erstellen Sie mit Anaconda eine virtuelle Umgebung
Die Einstellung für die Amateur-Python-Umgebung (für MAC) wird erstellt
Erstellen einer Python 3.6-Umgebung mit Windows + PowerShell
Holen Sie sich mit Docker eine lokale Umgebung für DynamoDB
Erstellen Sie mit Docker eine Python + uWSGI + Nginx-Umgebung
Erstellen Sie eine Python-Umgebung mit Anaconda auf einem Mac
Starten Sie die Umgebung mit LineBot + Heroku + Docker + Python
Erstellen Sie mit pyenv eine virtuelle Umgebung für Python
Bereinigen Sie die Python-Umgebung mit Pythonz und virtualenv
[Wettbewerbsprogrammierung] [Python3] Notwendiges Wissen für sich
Erstellen Sie mit Neovim eine moderne Python-Umgebung