Utilisez le test de compétence de Paiza pour étudier python. Parmi eux, j'ai pensé à une configuration pour reproduire localement l'entrée standard et la tester, alors prenez note. Veuillez indiquer s'il y a une faute de frappe, un moyen plus efficace, etc.
__ Ajouté le 30 décembre 2016 __ __ Il n'est pas nécessaire de prendre une telle méthode, et clarinet758 a commenté. Tout était OK avec la méthode suivante. __
$ python ./answer.py < ./input.txt
Installation de python3. Introduction de pyperclip utilisé pour copier le presse-papiers Référence: opération du presse-papiers avec python
.
├── answer.py #Dossier d'amélioration de l'environnement de production
├── conv.py #Fichier pour la conversion locale
├── input.txt #Fichier d'exemple d'entrée
└── proto.py #Fichier de description du programme principal
answer.py et input.py sont vides au début, donc les deux autres.
proto.py
#Créer un environnement d'exécution local
#Fichier ouvert
inp = open("input.txt", mode="r")
#----Programme d'ici----
#----Programme jusqu'à présent----
#Fermer le fichier
inp.close()
conv.py
#Importer des expressions régulières
import re
#Module d'importation à copier dans le presse-papiers
import pyperclip
#Lire les fichiers pour la conversion
with open("proto.py", mode="r") as prot, open("answer.py", mode="w") as answ:
#Chargement de l'environnement local
for line in prot:
#Remplacer les mots-clés spécifiques à l'environnement de développement local par une entrée standard
tmp = line.replace('inp = open("input.txt", mode="r")','')\
.replace('inp.readline()','input()')\
.replace('inp.close()','')
#Supprimer le commentaire
tmp = re.sub(r'#.*','',tmp)
#Exporter autre que des lignes vides
if tmp != '\n':
answ.write(tmp)
#Lire la réponse pour la copie du presse-papiers
with open("answer.py", mode="r") as answ:
pyperclip.copy(answ.read())
Tout d'abord, copiez l'exemple d'entrée d'entrée standard dans input.txt tel quel. Après cela, programmez à partir du commentaire de proto.py-program à partir d'ici. Pour une entrée standard, obtenez ligne par ligne avec le code suivant.
proto.py
#Pour 1 ligne 1 données
date = inp.readline().rstrip() #rstrip supprime les espaces et les sauts de ligne les plus à droite
#Pour plusieurs données par ligne
date = inp.readline().rstrip().split(' ') #Liste par délimiteur vide par division
Programmation comme d'habitude. Tapez la commande suivante dans le terminal à chaque fois et recherchez tout en vérifiant le résultat.
python
$ python proto.py
Une fois terminé, supprimez le programme spécifique local et convertissez-le en entrée standard avec conv.py. Copiez également dans le presse-papiers. Tout ce que vous avez à faire est de le coller dans le formulaire de soumission.
python
$ python conv.py
Recommended Posts