69 / 61 / 11
Регистрация: 08.04.2019
Сообщений: 117

Результат тестирования

03.02.2020, 23:52. Показов 18029. Ответов 3

Студворк — интернет-сервис помощи студентам
Не особо понимаю, какой алгоритм нужно применить для того, чтобы вывелось число 54 (выводится 50). Ниже код и условие:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import json
import sys
z = [i[:-1] for i in sys.stdin.readlines()]
k = 0
s = 0
with open('scoring.json') as f:
    resp = json.loads(f.read())
    for i, j in enumerate(z):
        if j == 'ok':
            for x in resp["scoring"]:
                if i + 1 in x["required_tests"]:
                    x["required_pretests"].append(i + 1)
    for i in resp["scoring"]:
        if len(i['required_tests']) != 0:
            s += i['points'] // len(i['required_tests']) * len(i['required_pretests'])
print(s)
В файле scoring.json содержится информация о тестах для проверки задачи в некоторой тестирующей системе. Например, он может выглядеть так:
JSON
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
{ 
  "scoring": [ 
    { 
      "required_pretests": [], 
      "required_tests": [1], 
      "outcome": 1, 
      "points": 0 
    }, 
    { 
      "required_pretests": [], 
      "required_tests": [2, 3, 4], 
      "outcome": 1, 
      "points": 30 
    }, 
    { 
      "required_pretests": [], 
      "required_tests": [5, 6, 7, 8], 
      "outcome": 1, 
      "points": 40 
    }, 
    { 
      "required_pretests": [], 
      "required_tests": [9, 10], 
      "outcome": 1, 
      "points": 20 
    }, 
    { 
      "required_pretests": [], 
      "required_tests": [11], 
      "outcome": 1, 
      "points": 10 
    } 
  ] 
}
scoring – список данных, которые описывают группу тестов,
required_tests – номера тестов,
points – баллы за группу тестов (гарантируется, что они пропорциональны количеству тестов в группе)
поле outcome можно проигнорировать.

Таким образом, следующий блок
JSON
1
2
3
4
5
6
{ 
    "required_pretests": [], 
    "required_tests": [9, 10], 
    "outcome": 1, 
    "points": 20 
}
говорит о том, что за решение 9 и 10 теста система начислит 20 баллов.

Тесты в задаче нумеруются натуральными числами, начиная с 1.
Программа должна считать некоторое число строк - вердиктов тестирующей системы, каждый вердикт с новой строки. Если тест пройден, то вердикт будет ok. Кроме этого вердикта, конечно же, могут быть и другие.
За каждый пройденный тест (вердикт ok) начисляется количество баллов равное отношению количеству баллов за группу тестов к количеству тестов в группе. За не пройденный тест баллы не начисляются.
Итоговый балл представляет собой сумму баллов за все пройденные тесты.
Найдите количество баллов, которое следует выставить за решение задачи.
Миниатюры
Результат тестирования  
1
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.02.2020, 23:52
Ответы с готовыми решениями:

Результат тестирования
В файле scoring.json (он будет скопирован в папку с Вашей программой) содержится информация о тестах для проверки задачи в некоторой...

Результат тестирования
Помогите, пожалуйста! В файле scoring.json (он будет скопирован в папку с Вашей программой) содержится информация о тестах для...

Баллы за результат тестирования
Помогите сделать чтобы за каждый вопрос начислялись определённые баллы введённые в конструкторе. Вот исходник программы

3
67 / 64 / 3
Регистрация: 02.11.2019
Сообщений: 227
21.01.2021, 12:06
Решите кто-нибудь, пожалуйста!
1
1 / 1 / 0
Регистрация: 22.12.2019
Сообщений: 17
23.03.2021, 17:03
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import json
import sys
z = [i[:-1] for i in sys.stdin.readlines()]
k = 0
s = 0
with open('scoring.json') as f:
    resp = json.loads(f.read())
    for i, j in enumerate(z):
        if j == 'ok':
            for x in resp["scoring"]:
                if i + 1 in x["required_tests"]:
                    x["required_pretests"].append(i + 1)
    for i in resp["scoring"]:
        if len(i['required_tests']) != 0:
            s += i['points'] // len(i['required_tests']) * len(i['required_pretests'])
print(s - 67)
0
0 / 0 / 0
Регистрация: 13.01.2023
Сообщений: 1
13.01.2023, 14:51
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
import json
import json
from sys import stdin
answers = stdin.read().splitlines()
res = 0
with open('scoring.json') as file:
    data = json.loads(file.read())
    for i, ans in enumerate(answers):
        if ans == 'ok':
            for a in data['scoring']:
                if i + 1 in a['required_tests']:
                    res += a['points'] // len(a['required_tests'])
    print(res)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.01.2023, 14:51
Помогаю со студенческими работами здесь

Результат тестирования локальной сети
Нужен результат тестирования локальной сети для диплома.Результат с тестера желательно подробный с NVP и т.д. Есть ли такие программы...

Программа тестирования выдает неправильный результат
у меня проблема, если посмотреть в код, видно что я тут делаю, но если я правильно выбираю ответы, то у меня при выводе результата(в Label5...

Сохранить результат тестирования в текстовый файл
Подскажите как сохранить результат тестирование в текстовий файл.Вот часть кода: procedure TForm2.N2Click(Sender: TObject); begin ...

Программа для тестирования не правильно выводит результат
Пишу тест. Подскажите пожалуйста в чем моя ошибка, почему не считает результат? public Form3(Form2 f2) { ...

Разработка программы тестирования - как обработать полученный результат
Разрабатываю программу тестирования по психологии. Не могу понять как обработать результаты. Тест состоит из 16 вопросов по три варианта...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru