Python 我不知道互动任务中的stdout有什么问题,测试系统说出现了空闲限制

Python 我不知道互动任务中的stdout有什么问题,测试系统说出现了空闲限制,python,stdout,Python,Stdout,互动者在新台词上给出节目所问问题的答案,但同花顺有一些问题。它在测试服务器上不起作用,但在我的计算机上一切正常 from sys import stdin, stdout islier = False print('? 1') stdout.flush() t = int(stdin.read().rstrip('\n')) if t == 1: islier = True l = 1 r = 100000

互动者在新台词上给出节目所问问题的答案,但同花顺有一些问题。它在测试服务器上不起作用,但在我的计算机上一切正常

    from sys import stdin, stdout
    islier = False
    print('? 1')
    stdout.flush()
    t = int(stdin.read().rstrip('\n'))
    if t == 1:
        islier = True
    l = 1
    r = 100000
    while l != r:
        print('? ' + str((l + r) // 2))
        stdout.flush()
        t = int(stdin.read().rstrip('\n'))
        if islier:
            t = abs(t - 1)
        if t == 1:
            r = (l + r) // 2
        else:
            l = (l + r) // 2
    print('! ' + str((l + r) // 2))

问题可能不在于冲洗。在我的机器上,运行
sys.stdin.read()
会阻塞系统,这可能会导致超出空闲限制错误。使用
sys.stdin.readline()
,因为这将在用户键入enter时返回:

t=int(stdin.readline().rstrip('\n'))

问题可能不是冲洗。在我的机器上,运行
sys.stdin.read()
会阻塞系统,这可能会导致超出空闲限制错误。使用
sys.stdin.readline()
,因为这将在用户键入enter时返回:

t=int(stdin.readline().rstrip('\n'))

听起来测试服务器没有正确地模拟标准数据流——假设这是您没有指定的“某些问题”之一。您能指定flush的问题是什么吗?代码是否挂起或刷新是否引发错误?你能告诉我这个程序要完成什么吗?测试服务器不要说有什么问题,我想服务器不能得到我的请求。我尝试了sys.stdout.write(),但是它太糟糕了。顺便说一句,如果你对print语句使用
sys.stdout.flush()
,你可以使用
print(“hi”,flush=True)
。我试过了,但它不起作用,好像测试服务器没有正确地模拟stdout流——假设这是“一些问题”之一您还没有指定。您可以指定flush的问题是什么吗?代码是否挂起或刷新是否引发错误?你能告诉我这个程序要完成什么吗?测试服务器不要说有什么问题,我想服务器不能得到我的请求。我试过sys.stdout.write(),但是它太糟糕了。顺便说一句,如果你在print语句中使用
sys.stdout.flush()
,你可以使用
print(“hi”,flush=True)
。我试过了,但它不起作用。非常感谢你,我现在就试试,并向你报告结果。感谢上帝,我能为你做些什么?非常感谢你,我现在就试试,并向你汇报结果。感谢上帝,我能为你做些什么?