快速输入/输出,可在Python中进行有竞争力的编程
在竞争性编程中,使程序高效运行非常重要。为了使这一主要问题成为输入和输出。由于程序的输入和输出占用更多时间。因此,因此,代码的效率降低了。
有一些特定功能可用于快速输入和输出。
Python提供了两个文件对象“stdin”和“stdout”,它们是“sys”模块的一部分,我们可以使用“stdin”的readline()方法进行输入,使用“stdout”的功能进行输出。write()
1)stdin.readline()
它用于接收输入,默认情况下将输入作为字符串,如果要将输入作为整数,则使用eval()或int()函数。如果要在一行中使用空格分隔的输入,请使用split()。
示例
stdin.readline(eval(input().split()))
代替eval()您也可以使用int()。如果您不使用任何这些功能,则默认情况下,输入将为字符串
2)stdout.write()
它以字符串类型给出输出。如果要在单个语句中提供多个输出,请在两者之间使用“+”。
示例
stdout.write('p', + ,'A', +, 'C')语法:
stdin.readline() #用于输入
stdout.write() #用于输出要使用快速输入输出功能,您需要导入包含它们的文件,即“sysmodule”。
示例1:用于简单输入,输出的Python代码
#没有快速I/O的python程序
from time import perf_counter
#用户的整数输入,单行2个输入
n,m = map(int,input().split())
t1_start = perf_counter()
for i in range(n):
t=int(input()) #用户输入了n次
if t%m == 0:
print(t) #如果条件满足则输出输出
t1_stop = perf_counter()#停止秒表/计数器
print("Elapsed time:", t1_stop-t1_start) #报告结果输出结果
示例2:用于快速输入,输出的Python代码
#具有快速I/O的python程序
#模块包含stdin,stdout
from sys import stdin, stdout
from time import perf_counter
#用户的整数输入,单行输入2
n,m=map(int,input().split())
t1_start = perf_counter()
for i in range(n):
t=int(stdin.readline()) #使用快速I/P方法输入
if t%m == 0:
stdout.write(str(t)+'\n') #使用快速o/p方法输入
t1_stop = perf_counter()#停止秒表
print("Elapsed time:", t1_stop-t1_start) #报告结果输出结果
从输入到输出需要0.004445707999999993秒的时间
注意:如您在上面的代码中看到的,快速输入法运行100位数字行所花费的时间是简单Input/Output所花费的时间的一半。