У цьому виклику ви підрахуєте, якою була б ваша репутація, якби на PPCG не існувало обмеження репутації.
Кожен може отримати доступ до сировинних даних щодо зміни репутації на адресі : codegolf.stackexchange.com/reputation . Необхідні дані відповідають такому налаштуванню (це перші кілька рядків моєї версії сторінки.
total votes: 2955
-- bonuses (100)
2 37663 (10)
-- 2014-09-11 rep +110 = 111
2 41751 (10)
-- 2014-11-23 rep +10 = 121
2 41751 (10)
2 41751 (10)
-- 2014-11-24 rep +20 = 141
Перший рядок для цього виклику не має значення (він показує загальну кількість голосів, які ви отримали за всіма своїми відповідями та питаннями). У другому рядку відображено "Бонус за асоціацію". Якщо у вас немає бонусу, цей рядок взагалі не буде.
Після цих двох (або одного, якщо немає бонусного) рядка, у вас з'явиться список змін репутації за кожним питанням, а також підсумок всіх представників, отриманих / втрачених кожного дня. Ви також отримаєте список загальної репутації, яку ви маєте наприкінці цього дня. У цьому списку відображаються лише дні, коли змінилася ваша репутація.
На початку кожного рядка є ідентифікатори (крім рядків щоденного підсумку). Вони представляють такі можливі причини зміни репутації:
1 : Accept (+2 if you accept, +15 if your answer is accepted)
2 : Upvote (+5 for question, +10 for answer)
3 : Downvote (-1 if you downvote answer, -2 if you get downvoted)
4 : Offensive (-100)
8 : Give bounty
9 : Receive bounty
12: Spam (-100)
16: Approved edit (+2)
Відсутні числа ( 5,6,7,10,11,13,14,15
не впливають на репутацію).
Ваше завдання - обчислити репутацію, яку ви мали б, якби не обмеження репутації.
Як ви це зробите:
Збережіть вміст у codegolf.stackexchange.com/reputation
вигляді простого тексту на локальному рівні або в іншому обраному вами місці (це пов’язано з тим, що для доступу до інформації вам потрібно увійти в систему). Ви можете отримати дані безпосередньо з веб-сайту, якщо хочете, хоча я припускаю, що це буде набагато довше.
Підсумуйте всі позитивні та негативні зміни репутації. Голоси, які не призводять до зміни репутації (через обмеження повтору), відображаються так (помічайте квадратні дужки замість звичайних дужок):
2 106125 [0]
2 106125 [0]
3 106125 [-2]
2 106088 [2]
2 106125 [0]
2 106088 [0]
Ви повинні включити представник, який ви отримали, якби не шапка.
Повідомлення номер 106125
є питанням , а 106088
є відповіддю . Як бачите, немає можливості визначити різницю між двома, використовуючи лише дані, наведені в таблиці. Тому ви повинні зайти на веб-сайт ( codegolf.stackexchange.com
), щоб перевірити, чи є публікація питанням або відповіддю. Ви також можете використовувати API для цього.
Правила:
- Усі повинні мати змогу запустити ваш сценарій так:
- Ви повинні включити всі різні типи змін репутації, навіть якщо ви самі цього не стикалися.
- Код повинен діяти, навіть якщо ви не отримали бонус Асоціації (рядок не буде, якщо ви цього не зробили)
- Ви можете використовувати невільні мови (Mathematica, MATLAB тощо), якщо інші, хто має ліцензію, можуть виконувати код.
- Не потрібно надавати необроблені дані, оскільки кожен може перевірити ваш код у власній версії сторінки (буде цікаво, якщо ви поділитесь результатами, але це необов’язково).
- Ви можете скористатися API або отримати доступ безпосередньо до веб-сайту. URL-скорочувачі заборонені.
- Якщо є інші способи знайти представник, який у вас був би без кришки повтору, ви не можете його використовувати. Ви повинні використовувати дані зі згаданої сторінки.
Зауважте, що публікації відповідей мають різний розширення до URL-адреси:
/codegolf/106088 // Answer: Notice the end of the url
/codegolf/106079/detect-ms-windows/106088#106088
/codegolf/106079/ // Question: Notice the end of the url
/codegolf/106079/detect-ms-windows
Вихід:
Вихід повинен бути:
Rep w cap: 15440
Rep w/o cap: 16202
Формат необов’язковий, [15440,16202]
приймається. Rep w cap
можна взяти прямо з рядка: ** total rep 15440 :)
біля нижньої частини сторінки.
Це код-гольф, тому найкоротший код у байті виграє.