快速输入/输出,可在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所花费的时间的一半。