Python製データ、対拍器

16906 ワード

0.概要:
Python環境ではrandomや洛谷が開発したCyaronを利用するのが良い選択です.
Cyaronを使用する場合は、「
Git-hub luogu-dev/cyaron
1.環境構成:
Python 3以降のバージョンをインストールし、インストール時にカスタマイズを選択し、環境変数の自動設定オプションをチェックします.もちろん自分でできる%
インストールが完了したらコマンドプロンプトを開き、pythonと入力し、Python環境に入ると成功!!!
2.パッケージの導入:
randomまたはcyaronを使用するには、C++のヘッダファイルのようなパッケージの導入をプログラムで開始する必要があります.
import random
from cyaron import *

初めて使用する場合は、cyaronをインストールする必要があります.コマンドプロンプトを開いて、次のコマンドを入力します.
pip install cyaron

3.フォーマット入出力ファイルの作成
fout = open("brick.in","w")
fout.close()

brick.inの作成
for i in range(1,11):
        fout = open("test%d.in"%i,"w")
fout.close()
#py range         

test 1.in~test 10.inの作成
4.出力
スクリーン出力
for i in range(1,6):
        for j in range(1,6):
                print("%d %d
"
%(i,j))

pyの%d,
などの用法はC++注意後半は%でサンプルを分割して出力する
1 1
1 2
1 3
1 4
1 5
2 1
2 2
2 3
2 4
2 5
3 1
3 2
3 3

ファイル出力
前回のコードにつなぎ、test 1.in~test 10.inに書き込む
for i in range(1,11):
        fout = open("test%d.in"%i,"w")
        fout.write("%d "%i)
        #fout.write    print  
fout.close()

5.データの生成
random
import random
fout = open("brick.in","w")
t = random.randint(1, 10)
fout.write("%d
"
%t) for i in range(1,t+1): n = random.randint(1, 100) fout.write("%d
"
%n) for j in range(1,n+1): for k in range(1,n+1): p=random.randint(1,2) if p==1: fout.write(".") if p==2: fout.write("#") fout.write("
"
) fout.close()

randomにはrandom.randint(l,r)関数があり、[l,r]間のInt値を返します.
サンプル出力:
5
23
#.#.....####..######.#.
.#..#.##.##.##...##..#.
####.###...##...#.#..#.
.#####.#......##...##.#
...###.####.#.##....###
.###.#.#.##.#..#...##..
#..####..#.###......###
#..#.##..##.#.##.#..#.#
####.##.##.##..#......#
#....#.#....##.#.##.###
...####...#.#.....#.###
##.#.#...###..#.#...###
#.###..##..#.##.######.
##..#.#..##....##.....#
.#.#.##.#.###..#.##...#
.#..###.#.###..#..##.#.
#..#.....##..###..#..#.
.#.#..######..##.#.####
##..##.#...###.#.##.#.#
##....##.....#...##...#
..#...#.##.###.......##
...#..#.##.###.###..##.
#.#....#####..#.####.#.
25
#..#.#.#####.##..##..#.##
..#.#..##.#.#.#.#..###..#
####..#.###.#####.#...##.
###....#...#..##.#..##.#.
#..##.##..#..##..####...#
.#....#......##..#.#.###.
#...##.##.....#..##.##...
.##..######.#.#..#####..#
##.....#####.####.###..#.
.####...##...#.#.###.##..
####.#..####..#.##...#.#.
###..##....##..###.#.#.##
#......#.######.#..#...##
##.#.####..##.#.#.#..#.##
..###.##.####.####..#..##
.####.#####..#..#.#.#....
.#.#.###.#.##.#..#####..#
#.#...#.####.####.#..#.##
##..##...#.###.#...#.##.#
###..##..##.####..##..###
.#.####.#..####....#####.
##......###...##.##.#.##.
###.#.#..#.##...###.##.#.
#..#.##.#...##.#.#...#...
###..##....#....####..##.

データが多すぎて不完全
6.ツーショット
ツーショットにはシステムパッケージが必要です
import os

OSコマンドの使い方はc++のsystemコマンドと似ており,いずれもシステムコマンドプロンプトを参照するコマンドである.
import os
while True:
        os.system("a.exe")
        os.system("b.exe")
        os.system("fc a.out b.out")

もちろんC++も使えます
#include 
using namespace std;
int main(){
    while (1){
        system"python mkdt.py");
        system("a.exe");
        system("b.exe");
        system("fc a.out b.out");
    }
    return 0;
}

ファイルの入出力を書く必要がない対拍Cyaronにはより良い解決策があります.独自の対拍関数が参照できます.
7.Summary
もちろん、上記の操作はPythonの環境変数を設定します.
Pythonの基本的な文法を理解していない場合は、luogu Python入門ガイドを参照してください.