<commit_before>{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Esercizio 1\n",
    "\n",
    "Si consideri in input il dataset delle precipitazioni piovose mensili (mm) in periodo di N anni, nel seguente formato:"
   ]
  },
  {
   "cell_type": "raw",
   "metadata": {},
   "source": [
    "                2009\t2010\t2011\t2012\t2013\t2014\t2015\n",
    "    Gennaio\t\t75\t\t63\t\t65\t\t50\t\t77\t\t66\t\t69\n",
    "    Febbraio\t64\t\t65\t\t65\t\t67\t\t50\t\t54\t\t58\n",
    "    Marzo\t\t81\t\t77\t\t73\t\t80\t\t83\t\t89\t\t100\n",
    "    Aprile\t\t89\t\t90\t\t85\t\t90\t\t90\t\t84\t\t90\n",
    "    Maggio\t\t120\t\t129\t\t113\t\t120\t\t135\t\t117\t\t130\n",
    "    Giugno\t\t113\t\t99\t\t116\t\t114\t\t111\t\t119\t\t100\n",
    "    Luglio\t\t111\t\t105\t\t98\t\t112\t\t113\t\t102\t\t100\n",
    "    Agosto\t\t129\t\t131\t\t120\t\t111\t\t141\t\t130\t\t126\n",
    "    Settembre\t90\t\t85\t\t101\t\t88\t\t89\t\t94\t\t91\n",
    "    Ottobre\t\t109\t\t122\t\t103\t\t119\t\t98\t\t101\t\t107\n",
    "    Novembre\t111\t\t121\t\t101\t\t104\t\t121\t\t115\t\t104\n",
    "    Dicembre\t56\t\t67\t\t44\t\t58\t\t61\t\t64\t\t58"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "La specifica del formato di input è la seguente: 13 record di campi separati da tabulazione di cui il primo è il record di intestazione degli anni (composto da N campi) e gli altri 12 sono i record delle piogge mensili (uno per ciascun mese) composti da N+1 campi (di cui il primo è il nome del mese) e i rimanenti N sono le piogge del mese lungo gli N anni.\n",
    "\n",
    "Si richiede di calcolare:\n",
    "\n",
    "- per ognuno dei mesi, la precipitazione media lungo gli anni \n",
    "- per ognuno degli anni considerati, la precipitazione totale \n",
    "- per ognuno degli anni considerati, il numero di mesi con almeno p mm di pioggia\n",
    "\n",
    "***\n",
    "\n",
    "Parametri di input:\n",
    "- dataset delle precipitazioni\n",
    "- soglia p\n",
    "\n",
    "***\n",
    "\n",
    "Requisiti generali:\n",
    "- il calcolo deve essere generico rispetto dataset di input\n",
    "- si richiede la definizione della funzione `compute_mean()` per calcolare la media di una lista di numeri\n",
    "- si richiede la definizione della funzione `count_elements_greater_than()` per contare il numero di valori che sono almeno una certa soglia\n",
    "\n",
    "***\n",
    "\n",
    "Variabili di output:\n",
    "\n",
    "- lista `means_per_month_tuples` di 12 tuple delle precipitazioni medie mensili, in cui ogni tupla contiene le prime tre lettere del nome del mese in maiuscolo come primo elemento e la media lungo gli anni come secondo elemento\n",
    "- lista `tot_per_year_tuples` di N tuple delle precipitazioni totali annue, in cui ogni tupla contiene l'anno come primo elemento e la precipitazione totale come secondo elemento\n",
    "- lista `count_per_year_tuples` di N tuple del numero di mesi con almeno p mm di pioggia (per anno), in cui ogni tupla contiene l'anno come primo elemento e il numero di mesi con almeno p mm di pioggia come secondo elemento\n",
    "\n",
    "***"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Soluzione"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Importare il modulo `numpy` come `np` per costruire e gestire matrici."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Definizione delle funzioni\n",
    "\n",
    "- `compute_mean()`, calcolo della media di una lista di valori numerici\n",
    "- `count_elements_greater_than()`, conteggio del numero di valori di una lista che almeno uguali a una certa soglia"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},<commit_msg>Modifica esercizio 1<commit_after>{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Esercizio 1\n",
    "\n",
    "Si consideri in input il dataset delle precipitazioni piovose mensili (mm) in periodo di N anni, nel seguente formato:"
   ]
  },
  {
   "cell_type": "raw",
   "metadata": {},
   "source": [
    "                2009\t2010\t2011\t2012\t2013\t2014\t2015\n",
    "    Gennaio\t\t75\t\t63\t\t65\t\t50\t\t77\t\t66\t\t69\n",
    "    Febbraio\t64\t\t65\t\t65\t\t67\t\t50\t\t54\t\t58\n",
    "    Marzo\t\t81\t\t77\t\t73\t\t80\t\t83\t\t89\t\t100\n",
    "    Aprile\t\t89\t\t90\t\t85\t\t90\t\t90\t\t84\t\t90\n",
    "    Maggio\t\t120\t\t129\t\t113\t\t120\t\t135\t\t117\t\t130\n",
    "    Giugno\t\t113\t\t99\t\t116\t\t114\t\t111\t\t119\t\t100\n",
    "    Luglio\t\t111\t\t105\t\t98\t\t112\t\t113\t\t102\t\t100\n",
    "    Agosto\t\t129\t\t131\t\t120\t\t111\t\t141\t\t130\t\t126\n",
    "    Settembre\t90\t\t85\t\t101\t\t88\t\t89\t\t94\t\t91\n",
    "    Ottobre\t\t109\t\t122\t\t103\t\t119\t\t98\t\t101\t\t107\n",
    "    Novembre\t111\t\t121\t\t101\t\t104\t\t121\t\t115\t\t104\n",
    "    Dicembre\t56\t\t67\t\t44\t\t58\t\t61\t\t64\t\t58"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "La specifica del formato di input è la seguente: 13 record di campi separati da tabulazione di cui il primo è il record di intestazione degli anni (composto da N campi) e gli altri 12 sono i record delle piogge mensili (uno per ciascun mese) composti da N+1 campi (di cui il primo è il nome del mese) e i rimanenti N sono le piogge del mese lungo gli N anni.\n",
    "\n",
    "Si richiede di calcolare:\n",
    "\n",
    "- per ognuno dei mesi, la precipitazione media lungo gli anni \n",
    "- per ognuno degli anni considerati, la precipitazione totale \n",
    "- per ognuno degli anni considerati, il numero di mesi con almeno p mm di pioggia\n",
    "\n",
    "***\n",
    "\n",
    "Parametri di input:\n",
    "- dataset delle precipitazioni\n",
    "- soglia p\n",
    "\n",
    "***\n",
    "\n",
    "Requisiti generali:\n",
    "- il calcolo deve essere generico rispetto dataset di input\n",
    "- si richiede la definizione della funzione `compute_mean()` per calcolare la media di una lista di numeri\n",
    "- si richiede la definizione della funzione `count_elements_greater_than()` per contare il numero di valori che sono almeno una certa soglia\n",
    "\n",
    "***\n",
    "\n",
    "Variabili di output:\n",
    "\n",
    "- lista `means_per_month_tuples` di 12 tuple delle precipitazioni medie mensili, in cui ogni tupla contiene le prime tre lettere del nome del mese in maiuscolo come primo elemento e la media lungo gli anni come secondo elemento\n",
    "- lista `tot_per_year_tuples` di N tuple delle precipitazioni totali annue, in cui ogni tupla contiene l'anno come primo elemento e la precipitazione totale come secondo elemento\n",
    "- lista `count_per_year_tuples` di N tuple del numero di mesi con almeno p mm di pioggia (per anno), in cui ogni tupla contiene l'anno come primo elemento e il numero di mesi con almeno p mm di pioggia come secondo elemento\n",
    "\n",
    "***"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Soluzione"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Importare il modulo `numpy` come `np` per costruire e gestire matrici."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Definizione delle funzioni\n",
    "\n",
    "- `compute_mean()`, calcolo della media di una lista di valori numerici"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- `count_elements_greater_than()`, conteggio del numero di valori di una lista che almeno uguali a una certa soglia"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
{'fraction_non_alphanumeric': 0.16228710462287105, 'fraction_numerical': 0.06046228710462287, 'mean_word_length': 2.655402401067141, 'pattern_counts': {'":': 67, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2003020', 'n_tokens_mistral': 3685, 'n_tokens_neox': 3434, 'n_words': 812}