码迷,mamicode.com
首页 > 编程语言 > 详细

数据生成python脚本

时间:2018-01-19 14:04:38      阅读:113      评论:0      收藏:0      [点我收藏+]

标签:pre   pos   rand   data   python   ++   asi   sys   random   

下面是项目结构:

--data 存放数据的文件夹

--main.cpp 题目的正确数据

--prodData.py  生成输入输出数据脚本

--test.cpp    测试代码

--testData.py  测试代码是否正确脚本

 

prodData.py

#-*- coding:utf-8 -*-

‘‘‘
@auther: Starry
@file: prodData.py
@time: 2018/1/17 15:47
‘‘‘

import random
import os

DATASIZE = 10

‘‘‘
每个数据一组数据
‘‘‘
for i in range(DATASIZE):
    print(The %dth set of test data is being produced. % i)
    with open(./data/test+str(i)+.in,w,encoding=utf-8) as f:
        N = random.randint(1, 100000)
        M = random.randint(1, 100000)
        f.write(str(N)+ +str(M)+\n)
        for j in range(M):
            a = random.randint(1,10000)
            b = random.randint(1,10000)
            c = random.randint(1,200)
            f.write(str(a)+ +str(b)+ +str(c)+\n)
    with open(./data/test+str(i)+.out,w,encoding=utf-8) as f:
        pass
    os.system(g++ -std=c++11 main.cpp -o main)
    os.system(main < data\\test+str(i)+.in >> data\\test+str(i)+.out)

‘‘‘
多组数据 0 结束
‘‘‘

# for i in range(DATASIZE):
#     print(‘The %dth set of test data is being produced.‘%i)
#     with open(‘./data/test‘+str(i)+‘.in‘,‘w‘,encoding=‘utf-8‘) as f:
#         while True:
#             N = random.randint(-70,1000)
#             if N <= 0:
#                 f.write(str(0)+‘\n‘)
#                 break
#             f.write(str(N)+‘\n‘)
#             for j in range(N):
#                 a = random.randint(1,50)
#                 f.write(str(a)+‘ ‘)
#             f.write(‘\n‘)
#             M = random.randint(0,1000)
#             f.write(str(M)+‘\n‘)
#     with open(‘./data/test‘+str(i)+‘.out‘,‘w‘,encoding=‘utf-8‘) as f:
#         pass
#     os.system(‘g++ -std=c++11 main.cpp -o main‘)
#     os.system(‘main < data\\test‘+str(i)+‘.in >> data\\test‘+str(i)+‘.out‘)


‘‘‘
多组数据
‘‘‘

# for i in range(DATASIZE):
#     print(‘The %dth set of test data is being produced.‘ % i)
#     with open(‘./data/test‘+str(i)+‘.in‘,‘w‘,encoding=‘utf-8‘) as f:
#         for j in range(random.randint(1,20)):
#             N = random.randint(1, 100)
#             M = random.randint(1, 100)
#             K = random.randint(1, 100)
#             S = random.randint(1, 100)
#             f.write(str(N)+‘ ‘+str(M)+‘ ‘+str(K)+‘ ‘+str(S)+‘\n‘)
#             for k in range(K):
#                 a = random.randint(1,20)
#                 b = random.randint(1,20)
#                 f.write(str(a)+‘ ‘+str(b)+‘\n‘)
#     with open(‘./data/test‘+str(i)+‘.out‘,‘w‘,encoding=‘utf-8‘) as f:
#         pass
#     os.system(‘g++ -std=c++11 main.cpp -o main‘)
#     os.system(‘main < data\\test‘+str(i)+‘.in >> data\\test‘+str(i)+‘.out‘)

 

 

testData.py

#-*- coding:utf-8 -*-

‘‘‘
@auther: Starry
@file: testData.py
@time: 2018/1/17 15:46
‘‘‘

import os

DATASIZE = 10

os.system(g++ test.cpp -o test)
WA = False
for i in range(DATASIZE):
    print(The %dth set of data is being tested.%i)
    os.system(test < data\\test+str(i)+.in > te.out)
    flag = os.system(fc data\\test+str(i)+.out te.out > nul)
    if flag != 0:
        print(Wrong answer on test+str(i)+.in!!!)
        WA = True

if not WA:
    print("Accepted!!!")

 

数据生成python脚本

标签:pre   pos   rand   data   python   ++   asi   sys   random   

原文地址:https://www.cnblogs.com/xingkongyihao/p/8316096.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!