|
1 | 1 | Наш сайт автоматически проверяет ваши решения. Как это работает?
|
2 | 2 |
|
3 |
| -В самом простом случае система просто запускает ваш код и смотрит на то, что вывелось на экран. А потом сверяет с тем, что мы «ожидали» по заданию. |
| 3 | +В самом простом случае система просто запускает ваш код и смотрит на то, что вывелось на экран. А потом сверяет с тем, что мы «ожидали» по заданию. Например, если задание звучит так: «Выведите число 10 на экран», то ваш код на Python может выглядеть так: |
4 | 4 |
|
5 |
| -В следующих, более сложных уроках вы будете писать функции — некие мини-программы, принимающие информацию из внешнего мира и производящие какие-то операции. Проверка ваших решений в таких случаях выглядит немного сложнее: система запускает ваше решение и передаёт какую-то информацию. Система также знает — «ожидает» — какой именно ответ должна дать правильная функция при таких входных данных. |
| 5 | +```python |
| 6 | +print(10) |
| 7 | +``` |
6 | 8 |
|
7 |
| -Например, если ваша задача — написать функцию сложения двух чисел, то проверочная система будет передавать ей разные комбинации чисел и сверять ответ вашей функции с реальными суммами. Если во всех случаях ответы совпадут, то решение считается верным. |
| 9 | +Система запустит его и проверит, что на экране действительно появилось 10. Если совпало с ожидаемым результатом — решение будет зачтено, если нет, то вы увидите ошибку: |
8 | 10 |
|
9 |
| -Такой подход называется тестированием, и он используется в реальной повседневной разработке. Обычно программист сначала пишет тест — проверочную программу, а потом уже ту программу, которую хотел написать. В процессе он постоянно запускает тесты и смотрит, приблизился ли он к решению. |
10 |
| - |
11 |
| -Именно поэтому наш сайт говорит «Тесты пройдены», когда вы правильно решили задачу. |
| 11 | +```bash |
| 12 | +E AssertionError: assert '9' == '10' |
| 13 | +E |
| 14 | +E - 10 |
| 15 | +E + 9 |
| 16 | +``` |
12 | 17 |
|
13 |
| -Вот простой пример: в одном из будущих уроков вам нужно будет написать функцию, которая производит вычисления и выдаёт ответ. Допустим, вы допустили небольшую ошибку, и функция выдала неправильное число. Система ответит примерно так: |
| 18 | +Плюсом показан результат работы вашего кода, минусом ожидаемое значение, которое тест хотел увидеть, но не увидел. |
14 | 19 |
|
15 |
| -```text |
16 |
| -AssertionError: '10' != '35' |
17 |
| -``` |
| 20 | +В следующих, более сложных уроках вы будете писать функции — мини-программы, принимающие информацию из внешнего мира и производящие какие-то операции. Проверка ваших решений в таких случаях выглядит немного сложнее: система запускает ваше решение и передаёт какую-то информацию. Система также знает — «ожидает» — какой именно ответ должна дать правильная функция при таких входных данных. |
18 | 21 |
|
19 |
| -Самое главное начинается после двоеточия: «значение "10" не равно ожидаемому значению "35"». То есть правильная функция должна была выдать 35, но текущее решение работает неправильно и выдаёт 10. |
| 22 | +Например, если ваша задача — написать функцию сложения двух чисел, то проверочная система будет передавать ей разные комбинации чисел и сверять ответ вашей функции с реальными суммами. Если во всех случаях ответы совпадут, то решение считается верным. |
20 | 23 |
|
21 |
| -Если в редакторе уже есть какой-то код, окружённый комментариями *BEGIN* и *END*, это означает, что свой код нужно писать строго между ними. Код за пределами этих комментариев менять не стоит — это может повлиять на корректность проверки. |
| 24 | +Такой подход называется тестированием, и он используется в реальной повседневной разработке. Обычно программист сначала пишет тест — проверочную программу, а потом уже ту программу, которую хотел написать. В процессе он постоянно запускает тесты и смотрит, приблизился ли он к решению. |
22 | 25 |
|
23 |
| -Проще говоря: видите *BEGIN* и *END* — пишите между ними, остальное не трогайте. |
| 26 | +Именно поэтому наш сайт говорит «Тесты пройдены», когда вы правильно решили задачу. |
24 | 27 |
|
25 | 28 | ## Моя ошибка или нет?
|
26 | 29 |
|
|
0 commit comments