快速输入/输出,可在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()      # 用于输出

要使用快速输入输出功能,您需要导入包含它们的文件,即“ sys module”

示例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) # 报告结果

输出结果

输出1

示例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) # 报告结果

输出结果

输出2

从输入到输出需要0.004445707999999993秒的时间

注意:如您在上面的代码中看到的,快速输入法运行100位数字行所花费的时间是简单Input / Output所花费的时间的一半

初步格式