Ce qui suit est supposé. J'écrirai également la version disponible lors de la création de l'article.
Vous pouvez exécuter un test dans l'exemple de cas avec Ctrl + Shift + B
,
Créez un environnement dans lequel vous pouvez exécuter manuellement un test avec Ctrl + Maj + T
.
J'ai fait ce qui suit. En un seul fichier pour chaque question, jetez-les tous sous src.
work
│ cptest.bat
│ input.txt
│
├─.vscode
│ launch.json
│ settings.json
│ tasks.json
│
├─src
│ abc114_a.py
│
└─test
cptest.bat
cptest.bat
@echo off
set problemname=%1
set testdir=test\%problemname%
set baseurl=%problemname:~0,-2%
set baseurlreplaced=%baseurl:_=-%
rem # log in
oj login -u username -p password "https://atcoder.jp/"
oj login --check "https://atcoder.jp/"
rem # make test directory
if not exist %testdir% (
oj dl -d test/%problemname%/ https://atcoder.jp/contests/%baseurlreplaced%/tasks/%problemname%
)
oj test -c "python src/%problemname%.py" -d test/%problemname%/
C'est un fichier batch qui s'exécute en donnant un argument comme cptest.bat abc114_a
.
De plus, le processus de conversion est inséré de force pour qu'il fonctionne même avec cptest.bat ddcc2020_qual_a
.
Changez «nom d'utilisateur» et «mot de passe» dans la ligne «oj login -u» de manière appropriée avant d'utiliser.
Dans la dernière ligne, en supposant que la commande python
est dans le chemin, elle sera exécutée et le résultat sera affiché sur la sortie standard.
input.txt
input.txt
(Écrivez ce que vous voulez transmettre comme entrée standard)
C'est un fichier texte utilisé comme python xxxxx.py <input.txt
.
Écrivez l'entrée que vous souhaitez tester vous-même.
launch.json
launch.json
{
//Vous pouvez utiliser IntelliSense pour apprendre les attributs disponibles.
//Survolez et affichez la description des attributs existants.
//Vérifiez les éléments suivants pour plus d'informations: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"args": [
"<",
"input.txt"
]
}
]
}
Ceci est un fichier de paramétrage pour exécuter le débogueur avec F5
.
Voici comment faire:
Vous pouvez ouvrir le débogage en ouvrant le fichier .py puis en appuyant soudainement sur F5
.
Vous pouvez préparer un modèle launch.json
en appuyant sur" Ajouter une configuration "sur l'écran ci-dessous.
Si vous écrivez autour des «arguments» sur le modèle préparé, il est terminé.
tasks.json
tasks.json
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "test_atcorder_sample",
"group": {
"kind": "build",
"isDefault": true
},
"type": "shell",
"command": "${workspaceFolder}/cptest.bat",
"args": [
"${fileBasenameNoExtension}"
],
"problemMatcher": []
},
{
"label": "test_manual_input",
"group": {
"kind": "test",
"isDefault": true
},
"type": "shell",
"command": "python",
"args": [
"${file}",
"<",
"input.txt"
]
}
]
}
Ceci est un fichier de paramétrage pour écrire Ctrl + Shift + B
(tâche de construction) et Ctrl + Maj + T
(tâche de test).
Voici comment faire:
Si vous appuyez soudainement sur Ctrl + Maj + B
après avoir ouvert le fichier .py, l'écran suivant apparaîtra et vous pourrez préparer un modèle pour tasks.json
.
Il est complété par l'édition du modèle préparé.
abc114_a.py
abc114_a.py
def main():
x = int(input())
ans = "NO"
if (x == 7 or x == 5 or x == 3):
ans = "YES"
print(ans)
if __name__ == '__main__':
main()
Soyez prudent avec le nom du fichier afin qu'il soit [nom du concours] _ [nom du problème] .py
.
Dans le cas ci-dessus, écrivez le code pour résoudre le problème A de ABC114.
Créez un fichier .py avec un nom de fichier approprié sous src selon le concours.
Après avoir répondu, vérifiez le fonctionnement de l'exemple de cas avec Ctrl + Maj + B
, et soumettez-le tel quel si vous le souhaitez.
Si vous remarquez une partie suspecte, modifiez ʻinput.txt selon le cas, vérifiez l'opération avec
F5ou
Ctrl + Maj + T`, corrigez-la et soumettez-la.
Création d'un environnement professionnel compétitif avec Visual Studio Code (Practice) --Qiita