Créez un programme qui trouve les 50 derniers défis avec le code-golf -tag qui a au moins 20 réponses. Ensuite, extrayez les scores de chaque langue dans chacun des défis. S'il y a plus d'une réponse dans la même langue, comptez tous les scores. Ensuite, prenez les 20 langues les plus courantes et affichez une liste avec les noms de langues, le nombre de réponses, le nombre moyen d'octets et le nombre médian d'octets. La liste doit être triée par nombre de réponses, par ordre décroissant.
Vous devez tenir compte des variations de capitalisation (par exemple: Matlab = MATLAB).
Dans les langues avec plusieurs numéros de version différents (par exemple Python), comptez-les comme des langues uniques, donc: Python != Python 2 != Python 2.7 != Python 3.x
Exemple de sortie (le format de sortie est facultatif):
cJam, 66, 12.4, 8.5
Pyth, 58, 15.2, 19
Ruby, 44, 19.2, 22.5
Python, 34, 29.3, 32
Python 2.7, 22, 31.2, 40
...
...
Java, 11, 115.5, 94.5
Formats d'en-tête qui doivent être pris en charge:
- Commence par
# Language name,
ou#Language name
- Se termine par
xx bytes
,xx Bytes
ou tout simplementxx
- Il peut y avoir beaucoup de déchets entre la première virgule et le dernier numéro.
- Si le nom de la langue est un lien (
[Name](link)
), il peut être ignoré
Si la réponse a un autre format d'en-tête, vous pouvez choisir de l'ignorer (ou de l'inclure si votre code peut le gérer).
Par exemple, tous les en-têtes ci-dessous doivent être pris en charge:
# Language Name, N bytes
# Ruby, <s>104</s> <s>101</s> 96 bytes
# Perl, 43 + 2 (-p flag) = 45 Bytes
# MATLAB, 5
Règles:
- Vous pouvez utiliser l'API ou simplement l'URL du site Web
- Les éléments suivants peuvent être extraits du nombre d'octets (rien d'autre), donc pas besoin d'utiliser un raccourcisseur d'URL (maximum 44 octets):
https://
(ouhttp://
)codegolf
.stackexchange.com
/questions
- Les éléments suivants peuvent être extraits du nombre d'octets (rien d'autre), donc pas besoin d'utiliser un raccourcisseur d'URL (maximum 44 octets):
- Le programme peut prendre une entrée. L'entrée sera incluse dans le nombre d'octets.
En dehors de cela, des règles standard s'appliquent.
xx bytes
est très courant sur les défis récents (au moins depuis la création de l'extrait de classement).Réponses:
R, 821 - 44 = 777 octets
Résultats mis à jour : veuillez consulter l'historique des modifications pour comprendre tous les commentaires ci-dessous.
Le code, que je pourrais raccourcir un peu plus:
De-golfé:
la source
Python 2, 934 - 44 (contenu URL) = 890 octets
Utilisation de l'API:
Notez que ce code ne fait pas attention à la limitation de l'API.
Sortie:
la source
/questions
réduction.bytes
, tandis que le mien gérera d'autres suffixes commechars
.l=re.sub("# ?|,","",l)
c'est ce qui remplace C # par C.