In questa sfida, calcolerai quale sarebbe la tua reputazione, se il limite di reputazione non esistesse su PPCG.
Tutti possono accedere ai dati grezzi per i cambiamenti di reputazione sull'indirizzo: codegolf.stackexchange.com/reputation . I dati non elaborati seguono una configurazione come questa (queste sono le prime righe della mia versione della pagina.
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
La prima riga è irrilevante per questa sfida (mostra il numero totale di voti che hai ricevuto su tutte le tue risposte e domande). La seconda riga mostra il "bonus di associazione". Se non hai il bonus, quella linea non ci sarà affatto.
Dopo queste due (o una riga, se non ci sono bonus), avrai un elenco di cambiamenti di reputazione per domanda, insieme a un riepilogo di tutti i rappresentanti guadagnati / persi ogni giorno. Riceverai anche un elenco della reputazione totale che hai alla fine di quel giorno. In questo elenco vengono visualizzati solo i giorni in cui la tua reputazione è cambiata.
Ci sono identificatori all'inizio di ogni riga (tranne le righe di riepilogo giornaliere). Questi rappresentano i seguenti potenziali motivi di cambiamento di reputazione:
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)
I numeri mancanti ( 5,6,7,10,11,13,14,15
non influiscono sulla reputazione).
La tua sfida è calcolare la reputazione che avresti, se non fosse per il limite di reputazione.
Come lo farai:
Salvare il contenuto codegolf.stackexchange.com/reputation
come testo normale localmente o in un altro luogo di propria scelta (questo è perché è necessario aver effettuato l'accesso per accedere alle informazioni). Puoi recuperare i dati direttamente dal sito Web se preferisci, anche se presumo che sarà molto più lungo.
Riassumi tutti i cambiamenti di reputazione positivi e negativi. I voti che non comportano un cambio di reputazione (a causa del limite di ripetizione) sono mostrati in questo modo (notare le parentesi quadre, invece delle normali parentesi):
2 106125 [0]
2 106125 [0]
3 106125 [-2]
2 106088 [2]
2 106125 [0]
2 106088 [0]
Devi includere il rappresentante che avresti ricevuto se non fosse stato per il limite.
Il numero di post 106125
è una domanda , mentre 106088
è una risposta . Come puoi vedere, non c'è modo di dire la differenza tra i due usando solo i dati riportati nella tabella. È pertanto necessario accedere al sito Web ( codegolf.stackexchange.com
) per verificare se un post è una domanda o una risposta. Puoi anche usare l'API per questo.
Regole:
- Tutti devono essere in grado di eseguire il tuo script in modo che:
- È necessario includere tutti i diversi tipi di modifica della reputazione, anche se non lo si è verificato da soli.
- Il codice deve funzionare anche se non hai ricevuto il bonus dell'Associazione (la linea non sarà presente se non l'hai ancora fatto)
- È possibile utilizzare lingue non libere (Mathematica, MATLAB ecc.), A condizione che altri con una licenza possano eseguire il codice.
- Non è necessario fornire i dati non elaborati, poiché tutti possono testare il codice sulla propria versione della pagina (sarà interessante se condividi i risultati, ma è facoltativo).
- È possibile utilizzare l'API o accedere direttamente al sito Web. non sono ammessi abbreviazioni di URL.
- Se ci sono altri modi per trovare il rappresentante che avresti senza il tappo del rappresentante, non puoi usarlo. Devi usare i dati dalla pagina menzionata.
Tieni presente che i post con risposta ottengono un'estensione diversa per l'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
Produzione:
L'output dovrebbe essere:
Rep w cap: 15440
Rep w/o cap: 16202
Il formato è facoltativo, [15440,16202]
è accettato. Rep w cap
può essere preso direttamente dalla linea: ** total rep 15440 :)
vicino alla fine della pagina.
Questo è code-golf, quindi vince il codice più corto in byte.