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
Installation von Python3. Einführung von Pyperclip zum Kopieren der Zwischenablage Referenz: Zwischenablage mit Python
.
├── answer.py #Datei zur Verbesserung der Produktionsumgebung
├── conv.py #Datei für die lokale Konvertierung
├── input.txt #Beispieldatei eingeben
└── proto.py #Hauptprogrammbeschreibungsdatei
answer.py und input.py sind zunächst leer, also die beiden anderen.
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
#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())
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
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
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