Dieser Artikel ist der erste Beitrag. Ich möchte aufschreiben, woran ich interessiert war, also würde ich mich über Ihre Gunst freuen.
Der Paiza Skill Check ist ein Programmier-Skill-Test, der bei paiza durchgeführt werden kann, einer Website, die von paiza Co., Ltd. betrieben wird, um IT-Humanressourcen zu entwickeln und die Beschäftigung zu unterstützen. Benutzer werden nach der Schwierigkeit der Probleme eingestuft, die sie bei dieser Fähigkeitsüberprüfung behoben haben, und können von der Firma, die den Code gesehen hat, aufgespürt werden.
** Beispiel für eine Frage Entfliehen Sie beim Debuggen dem mühsamen Kopieren und Einfügen ** Die meisten Fragen zu Programmiertests, einschließlich der Fähigkeitsüberprüfungen von paiza, enthalten Beispiele für Eingabe und Ausgabe. Sie beginnen also mit diesem Beispiel. Im Fall von Paiza können Sie es online am unteren Rand des Problembildschirms ausprobieren und den Vorgang überprüfen. Wenn der Schwierigkeitsgrad jedoch zunimmt und der Code länger wird, sollten Sie ihn mit Jupyter Notebook usw. in kleinen Stücken zurücksetzen. ( Zumindest werde ich). In diesem Fall müssen Sie das Eingabebeispiel kopieren und einfügen, aber es ist ** mühsam **, jede Zeile Zeile für Zeile zu kopieren, aber ** ich möchte es auch in der gleichen Form schreiben, in der ich es eingereicht habe ** .. Also möchte ich etwas tun, lass uns etwas tun. Also habe ich es geschafft.
Einfach ausgedrückt habe ich die Funktion ** input ()
überladen oder überschrieben **.
Das folgende Bild ist ein Eingabebeispiel für Einführung in die Überprüfung der Paiza-Lernfähigkeiten. Dies Ziel ist es, eine Funktion zu erstellen, die einfach durch Zuweisung auf diese Weise verwendet werden kann. ・ ・ ・
paiza_test.py
def preinput(input_text):
out=input_text.split("\n")
for i in out:
yield i
def input(reset=False):
global input_text,inp
if reset:del inp,input_text,repeat;return
try:return inp.__next__()
except:
if repeat:inp=preinput(input_text)
return inp.__next__()
def def_input(s,isRepeat=False):
global input_text,inp,repeat
input_text=s
repeat=isRepeat
inp=preinput(input_text)
** Fertig ** (Verschiedenes). Legen Sie diese als py-Datei in das zu debuggende Verzeichnis und importieren Sie sie zur Verwendung.
debug.ipynb
from paiza_test import*
Bereiten Sie wie zuvor eine Variable vor, der das Eingabebeispiel zugewiesen ist, und werfen Sie sie in die Funktion def_input ()
, und schon sind Sie fertig **.
debug.ipynb
input_text="""6
apple
book
information
note
pen
pineapple"""
def_input(input_text)
Danach können Sie den Code schreiben, den Sie in ** wie besehen ** debuggen möchten.
debug.ipynb
n=int(input())
for i in range(n):
print(input())
Ausgabe
apple
book
information
note
pen
pineapple
Wenn die Eingabe das Ende erreicht, wird beim nächsten Aufruf standardmäßig ein Fehler ausgegeben. Wenn jedoch das Argument "isRepeat" beim Aufruf von "def_input ()" als "True" angegeben wird, wird es von Anfang an wiederholt ausgegeben.
python
def_input(input_text,isRepeat=True)
n=int(input())
for i in range(3*n):
print(input())
Ausgabe
apple
book
information
note
pen
pineapple
6
apple
book
information
note
pen
pineapple
6
apple
book
information
note
Wenn Sie das Argument "reset" mit "True" aufrufen, wird es auf den Status zurückgesetzt, bevor Sie "def_input ()" aufrufen (es gibt keinen Rückgabewert).
def_input(input_text)
input(reset=True)
input() #------> error
3/16 Nachschrift Das Einstellungs-Timing von "isRepeat" beim Aufruf von "def_input ()" wurde korrigiert.
Ich hoffe, dieser Artikel hat Menschen mit der gleichen Unzufriedenheit erreicht und mir geholfen ... Ich denke, es kann zum Debuggen anderer Programmierwettbewerbe wie AtCoder neben Paiza verwendet werden. Wenn Sie einen besseren Weg oder eine Verbesserung haben, hinterlassen Sie bitte einen Kommentar.
Recommended Posts