对于一个OIer,Python能干些什么?

时间:2020-04-13
本文章向大家介绍对于一个OIer,Python能干些什么?,主要包括对于一个OIer,Python能干些什么?使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

Part 0 写在前面

Python是一门比较新的编程语言,火的相当迅速。
这一篇文章会比较全面的告诉你:OIer可以用Python来干嘛?
如有不足,请指出。
也可以在这看!


Part 1 用来出数据

Part 1.1 高精度

众所周知,Python自带高精度,这里我们来演示一下如何出一个高精度A+B的数据:

import random
fin = open("data1.in", "w")
fou = open("data1.out","w")
a = str(random.randint(1000000000000000, 10000000000000000000000000))
b = str(random.randint(1000000000000000, 10000000000000000000000000))
fin.write(a)
fin.write("\n")
fin.write(b)
fou.write(str(int(a)+int(b)))
# 下面两句特别重要,否则你的文件永远是空的哦
fin.close()
fout.close()

这比你C++一个个敲str[i] = rand()%100000好玩多了吧~

Part 1.2 eval的运用

eval是个语法糖,用于计算表达式的值。
下面这个例子,用来造一个表达式,并且输出他的值:

import random
chart = ['+','-','*','/','%']
string = ""
for i in range(0, 20):
    string = string + str(random.randint(0,100))
    string = string + chart[random.randint(0,4)]
string = string +  str(random.randint(0,100))
print(string)
print(eval(string))

输出:

10-32+37-98*82*96/78/54+59-43+68-16%38*81%5+44*86*79*77-14-68
23017904.843304843

Part 1.3 用Luogu的CYaRon造数据

过程略,链接

Part 2 考场用法(继续更新)

Part 2.1 OJ上

Part 2.1.1 高精度

在有些OJ上,我们可以用Python来提交代码。
比如:

兄嘚,懂?(一脸奸笑)


附 Python的下载

下载肯定是要到官网下载啦~
点开,你会看到这个图片:

Windows用户直接点download就好,其他系统的用户可以往下翻。

下载来后,点开。

Install Now不建议,我们选择Customize installation

全部勾选,一路下一步即可。

所以,win+r+输入cmd打开,输入python -v

什么?你没有出现?
请翻到上面的一个图,你点了Add Python 3.8 to Path吗?

哈哈哈哈如果你不想点开安装包重新安装,打开你的CMD,输入:

path=%path%;[你安装的路径] 
举个例子:path=%path%;C:\Python 

重启CMD,解决!

原文地址:https://www.cnblogs.com/sdltf/p/12692014.html