Programmation de compétition avec les paramètres de l'environnement local python

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

Préparation

Installation de python3. Introduction de pyperclip utilisé pour copier le presse-papiers Référence: opération du presse-papiers avec python

Structure du répertoire

.
├── 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

Contenu du fichier

answer.py et input.py sont vides au début, donc les deux autres.

proto.py --Pour écrire le programme principal

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 --Pour la conversion de description spécifique locale

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())

procédure

1. Ajouter un exemple d'entrée, obtenir une entrée standard

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

2. Programmation, tests

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

3. Conversion en environnement de production, copie

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

Programmation de compétition avec les paramètres de l'environnement local python
Programmation compétitive avec python
paramètres d'environnement python
3. 3. Programmation IA avec Python
Programmation Python avec Atom
environnement python avec docker-compose
Serveur local avec python
Programmation avec Python Flask
Environnement virtuel avec Python 3.6
Programmation avec Python et Tkinter
Installer l'environnement Python avec Anaconda
Gérez l'environnement python avec virtualenv
Créer un environnement python3 avec ubuntu 16.04
Préparer l'environnement python3 avec Docker
Construire un environnement python avec direnv
Conseils à savoir lors de la programmation de compétitions avec Python2
Programmation réseau avec Python Scapy
[Python] Construire un environnement pour la programmation de compétition avec Atom (input () peut être utilisé!) [Mac]
Connaissances à connaître lors de la programmation de concours avec Python2
Paramètres d'environnement d'apprentissage automatique basés sur Python3 sur Mac (coexistence avec Python2)
Entrée standard Python3 pour une programmation compétitive
Commencez avec Python! ~ ① Construction de l'environnement ~
Configurer un environnement Python moderne avec Homebrew
[Python] Programmation orientée objet apprise avec Pokemon
Construire un environnement Mysql + Python avec docker
Créez un environnement virtuel avec Python!
Créer un environnement virtuel avec Python 3
Programmation facile Python + OpenCV avec Canopy
Paramètres Emacs pour l'environnement de développement Python
Construction de l'environnement Python3 avec pyenv-virtualenv (CentOS 7.3)
Atelier de programmation Python-Ultra-Introduction à l'environnement d'exécution Python
Construction de l'environnement pytorch @ python3.8 avec pipenv
Configurer un environnement de développement Python avec Atom
Conseils à connaître lors de la programmation de compétitions avec Python2 (bibliothèque utile)
[Pyenv] Construire un environnement python avec ubuntu 16.04
[Ubuntu 18.04] Créer un environnement Python avec pyenv + pipenv
[Python] Création d'un environnement avec Anaconda [Mac]
Changer l'environnement Python 64 bits en environnement 32 bits avec Anaconda
Créer un environnement Jupyter Lab (Python) avec Docker
[Environnement de développement] Python avec Xcode [Avec transition d'écran]
Utilisez smbus avec python3 sous environnement pyenv
Remarques lors de la création d'un environnement avec python
[Python] Créez un environnement virtuel avec Anaconda
Le paramètre d'environnement Python amateur (pour MAC) est en cours de création
Création d'un environnement Python 3.6 avec Windows + PowerShell
Obtenez un environnement local pour DynamoDB avec Docker
Créer un environnement Python + uWSGI + Nginx avec Docker
Créer un environnement Python avec Anaconda sur Mac
Environnement de lancement avec LineBot + Heroku + Docker + Python
Créez un environnement virtuel pour python avec pyenv
Nettoyer l'environnement python avec Pythonz et virtualenv
[Programmation de compétition] [Python3] Connaissances nécessaires, pour vous-même
Créez un environnement Python moderne avec Neovim