как проверить программу в которой больше одного input в программе по автоматической проверке кода? python
У меня получилось сравнивать программы учеников с программой учителя этим "кодом" где не больше одного input, а где два и более выходит ошибка EOFError: EOF when reading a line я начинающий программист так что пожалуйста пишите как для дебила(с выводом у меня вроде все нормально, но если есть ошибка пожалуйста напишите) в файле с тестами может быть сколько угодно тестов и они разделяются #
from subprocess import run, PIPE
n = [[]]
chetciktests = 1
kolvotests1 = 0
chetcikmass = 0
# В этой части считываются тесты
file = open("tests.txt", "r")
i = file.read()
kolvotests = i.count("#")
i = i.replace("\n", " ")
i = list(map(str, i.split()))
while kolvotests != chetciktests:
n.append([])
chetciktests += 1
# Тут считывание по принципу, если решетка она удаляется,если значение оно добавляется в массив и после удаляется,
# благодаря этому число или решетка всегда под индексом 0, и не нужно вводить счетчик
while kolvotests > kolvotests1:
if i[0] == "#":
del i[0]
kolvotests1 += 1
chetcikmass += 1
else:
n[chetcikmass].append(i[0])
del i[0]
# Вводятся 2 массива mister teacher и mister student, в них вводятся значения после выполнения цикла
mt = []
ms = []
for p in range(len(n)):
for j in range(len(n[p])):
inputstr = n[p][j]
solution = run(['python', 'student.py'], stdout=PIPE, input=inputstr, encoding='ascii')
ms = list(map(int, solution.stdout.split()))
for p in range(len(n)):
for j in range(len(n[p])):
inputstr = n[p][j]
solution = run(['python', 'teacher.py'], stdout=PIPE, input=inputstr, encoding='ascii')
mt = list(map(int, solution.stdout.split()))
file.close()

