Виключні цілочисельні префіксні суми
Побудуйте цілочисельні префіксні суми від нуля до повної суми.
def prefix_totals(values):
if type(values) is not list or any(type(v) is not int for v in values):
raise ValueError("prefix.input")
result = [0]
for value in values:
result.append(result[-1]+value)
return resultПроєкт
Перевірте порожній ввід, від’ємні значення й великі цілі, відхиляючи логічні або дробові елементи без зміни вихідного списку.
Перевірте перед застосуванням
Порівняйте фактичну поведінку з очікуваним результатом. Якщо перевірка не проходить, з’ясуйте причину перед наступними змінами.
Моделі
Налаштуйте OpenAI-сумісний або Anthropic endpoint із базовою URL-адресою та API-ключем, якщо він потрібен. Перевірте з’єднання. Локальний сервер моделі має працювати; віддалені інструменти можуть окремо передавати дані.
def prefix_totals(values):
if type(values) is not list or any(type(v) is not int for v in values):
raise ValueError("prefix.input")
result = [0]
for value in values:
result.append(result[-1]+value)
return resultПростежте неправильну суму до її джерела
Sumtide — це середовище програмування з ШІ у Windows для дослідження програм, які перетворюють значення на суми та зведення. Виберіть каталог проєкту й опишіть результат, що суперечить очікуванням. Попросіть підключену модель перевірити обчислення й код його представлення, щоб виправлення усувало розбіжність, а не замінювало весь шлях звітності.
У завданні на основі prefix_totals.py можна запитати, чому сума діапазону включає неправильну межу. Надайте початкові значення, потрібний діапазон і очікувану відповідь. Потім попросіть помічника пояснити використання накопичених значень кодом виклику перед пропозицією правок. Приклад є корисною опорою перевірки; правила індексування застосунку й обробка порожніх діапазонів визначають, що має зберегти правильне виправлення.
Якщо ви віддаєте перевагу моделі ШІ без фільтрів, оберіть доступну через підтримувану кінцеву точку, сумісну з OpenAI, або Anthropic. Налаштуйте підключення й потрібні облікові дані та перевірте його контекст і можливості інструментів. Перегляньте запропоновані зміни, а потім порівняйте малі перевірені вручну приклади з результатом програми. Додайте порожні дані, окремі значення й діапазони, що торкаються кожного кінця. Збереження цих прикладів у проєкті дає чіткішу перевірку регресій, ніж прийняття пояснення лише тому, що арифметика здається простою.
Питання щодо виправлень агрегування
- Який малий приклад найкраще пояснить розбіжність сум?
Оберіть короткий список із різними значеннями, визначте точний діапазон і запишіть очікувану суму. Однакові повторювані значення можуть приховати помилки індексування. Додайте правило діапазону коду виклику, щоб модель відрізнила включену кінцеву точку від виключеної.
- Чи має порожній результат префіксних сум містити початковий нуль?
Це залежить від представлення, якого очікує код викликів. Перевірте обчислення сум діапазонів перед зміною форми результату. Початковий нуль може бути навмисним, і його вилучення здатне змістити кожен подальший індекс, хоча список виглядатиме простішим.
- Чи може те саме виправлення змінювати допустимі числові типи?
Розглядайте це як окреме рішення щодо контракту. Підтримка чисел із рухомою комою, десяткових або інших значень може змінити точність і валідацію. Зосередьте виправлення на межі, якщо застосунок явно не потребує ширшої підтримки даних і відповідних тестів.
- Як перевірити остаточну відображену суму?
Запустіть відповідні тести обчислення й перевірте значення, передане коду представлення. Потім окремо перевірте форматування. Правильна сума може відображатися неправильно через округлення, перетворення або вибір не того накопиченого елемента кодом виклику.
Sumtide · Оновлено 2026-10-25