{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Fibonacci ricorsivo ed iterativo" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Questa è la versione ricorsiva della funzione che calcola i numeri di Fibonacci, come da esercizio in laboratorio del 18 dicembre." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "def fib_rec(n):\n", " if n == 0: return 0\n", " elif n == 1: return 1\n", " else: return fib_rec(n-1) + fib_rec(n-2)" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "8" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "fib_rec(6)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Questa invece è la versione iterativa, come da esercizio del 6 novembre 2023." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "def fib_iter(n):\n", " fib_prev = 0\n", " fib_curr = 1\n", " for i in range(2, n+1):\n", " fib_new = fib_curr + fib_prev\n", " fib_prev = fib_curr\n", " fib_curr = fib_new\n", " return fib_curr" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "8" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "fib_iter(6)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Misuriamo quanto vi mette `fib_iter` a calcolare il decimo numero di Fibonacci." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "213 ns ± 11.2 ns per loop (mean ± std. dev. of 7 runs, 1,000,000 loops each)\n" ] } ], "source": [ "%%timeit\n", "fib_iter(10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Se aumentiamo di uno il parametro in input, il tempo di esecuzione cambia di poco. Questo perché, nel ciclo che implementa la funzione `fib_iter`, faremo una sola iterazione in più rispetto al caso precedente." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "227 ns ± 9.04 ns per loop (mean ± std. dev. of 7 runs, 1,000,000 loops each)\n" ] } ], "source": [ "%%timeit\n", "fib_iter(11)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Se raddoppiamo il numero il parametro da `10` a `20`, il tempo di esecuzione circa raddoppia." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "489 ns ± 1.78 ns per loop (mean ± std. dev. of 7 runs, 1,000,000 loops each)\n" ] } ], "source": [ "%%timeit\n", "fib_iter(20)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Questo perché la complessità della funzione `fib_iter` è dell'ordine di O(n): il numero di operazioni che compie (ad esepio, il numero di moltiplicazioni) è proporzionale ad `n`." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Con la versione ricorsiva, invece, accade qualcosa di molto più drastico. Cominciamo col caso in cui l'input è 10. Ovviamente la versione ricoriva è più lenta di quella iterativa, ma questo non ci stupisce." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "5.42 µs ± 56.8 ns per loop (mean ± std. dev. of 7 runs, 100,000 loops each)\n" ] } ], "source": [ "%%timeit\n", "fib_rec(10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Ma se aumentiamo di uno il parametro in input, da 10 a 11, il tempo di esecuzione non aumenta di poco, bensì quasi raddoppia." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "8.74 µs ± 221 ns per loop (mean ± std. dev. of 7 runs, 100,000 loops each)\n" ] } ], "source": [ "%%timeit\n", "fib_rec(11)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "14.1 µs ± 152 ns per loop (mean ± std. dev. of 7 runs, 100,000 loops each)\n" ] } ], "source": [ "%%timeit\n", "fib_rec(12)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Perché questo notevole peggioramente nel passare da 10 a 11 e da 11 a 12 ? Notare che calcolare il 40° numero di fibonacci con la funzione ricorsiva richiede vari secondi, mentre con la versione iterativa è istantaneo." ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "102334155" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "fib_rec(40)" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "102334155" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "fib_iter(40)" ] }, { "attachments": { "image.png": { "image/png": "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bTwqIpJP5s+fz9mzZ5k5c2aeFDsA06dPx8fHh82bN+fJ9aQYSE6GVq3MYqd+fXMdjoodySuDBsHixeYarH374L774KGH4OhRq5OJZJlGeEQky7Zt28aVK1eoWrUqdW+18FkASEtLo2TJkjRs2JDt27fn2XUNw+DBBx9kx44dfPDBB4wYMSLPri1FUGKiuXB/5Uq4/37YuNFcNyOFimEYPP/883h5eTF58mQciuK0sNRUeO01c7+j9PT/n7r45pvmeh+RQkwjPCJyW2lpaQwbNgx3d3datGjBI488QkBAAC4uLvTv35/09HSrIxZKa9euJTExkbFjx+bpdW02G5s3b+bxxx9n5MiRjBkzJk+vL0VIaqq5X8rKlWbr6a1bVewUUq1atWL+/PnExMSQmJhodZyccXCAadPgwgUYM8ZsWx4UBA8+CJ07w+rVWW9oIVLANMIjIreUlpZGzZo1OXHiBD4+PjzxxBNUq1aN0NBQlixZwuXLl6lYsSLHjh2jhDaou06tWrWIiori0qVLeTad7e/Gjh3LpEmTeP3115k0aVK+3UcKqUGD4Msv4d57YefOnDUIkHz33nvvMW7cODZs2MCDDz5odZy8c/48PPOM2dTgyhXzMU9Ps2nGxInmr0UKCRU8InJLDz/8MKtXr2bo0KF8+umn172hNgyDHj16sHTpUgIDAwkODrYwaeESHx+Pt7c33bt35/vvv8/Xey1ZsoTevXvToEEDduzYgaP2I7k7vP02vPGGuV/K2rXqYFZIHTt2jFq1avHss88ya9Ysq+Pkj8REs3vb5Mnm/khgNs7o2xdeeMFsdCBiMRU8InJToaGh1KtXj8DAQLZt23bL48qUKcOlS5eIiIigUqVKbNmyhddff/225xR33377LU8//TRBQUG0bt063+83Z84chg0bRoMGDVi/fj3u7u75fk+x0KefwvDh5iad+/aZLZul0DEMg/r163Pp0iWOHj1KyZzsg1TUzJkDy5bBihVmO3EAb2/45BP4xz80CimW0RoeEbmpr776itTUVD799NPbHte+fXsAli5dCphz1ffv35/5/d3oP//5D3Z2drRo0aJA7jdw4EC+++47goOD6datGykpKQVyX7HAsWMwdqy5VufHH1XsFGLff/89Bw8e5M0337w7ih0wW6MvXQonTph/T0uUMDeWfeYZqFXLLNbj4qxOKXch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" } }, "cell_type": "markdown", "metadata": {}, "source": [ "Per capire come mai la versione ricorsiva è così più lenta di quella iterativa, si può esaminare il seguente grafico, che mostra tutte le chiamate di funzioni effettuate per `fib_rec(4)`.\n", "\n", "![image.png](attachment:image.png)" ] }, { "attachments": { "image.png": { "image/png": "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/qo1a9Zo586dOnHihFq3bq3nnnvugTcjvVV6VK5c+YGuBwAAf2MjUwAAsoGmTZtKkn7++ec0X2NnZycXFxfFxMTozJkzqY/fKkHatWunLVu2aPHixZo7d65Wrlwpf39/xcTE6IsvvpAkrVq1KgPfxe169uypQoUK6fz586mP3dqD49bsjjlz5mjmzJmpe2Z0795dvXv3Tp3FIknVq1eXJHXq1ElPP/20Zs6cqYiIiDRlSElJ0bJly+Tg4JD6a5weHh4e6tu3r9atW6ebN2/qxx9/TC1Gbi3PSa8rV65Iko4dO/ZA1wMAgL9RegAAkA28/PLLkqRdu3al67oOHTpIknr06JH62IcffqhGjRpp+fLld73GarXqhx9+kPRoj7QdNWqUQkND5eXllfrYrb1EoqKi9M0332jw4MGSpEWLFqlt27aSpIULF6pgwYKqUqWK3nrrLW3YsEH169eXZOwT8tZbb93zvf3brWVDVapUyZB9TNq1a5dadsybN++BxoiKipL0979zAADw4Cg9AADIBry8vGRvb6+TJ0+mfihOi7lz56pixYq3nS4ybtw47dix464njoSFhalChQry9/eXo6Ojfvnll3RntVqtWr58eepmqelRvHhxWSwWRUREpO438sUXX6h79+5atWqVtm/frhdffFEODg46efKkFi5cqJiYGPn5+SkpKUlBQUG6ePGi+vXrl6b73Vqq0rp163RnvZfY2FhJeuASZePGjZKkhISEDMsEAEBORekBAEA24eLiorCwMC1YsCDN1zg7O+vkyZP67bff/vN1kZGR6tOnj9zd3RUQEKBChQpp3759qlatWuproqOjNWbMGPn4+CglJSX18bi4OB05ckSTJk1SvXr15OjoqE6dOqW5ePi3Tp06yd7eXs7Ozpo7d27qhqeS1LhxY/n4+Cg+Pl6xsbEKDQ1VoUKFUp8vWbKkHnvssdRjfu/H29tbku446vdhTJs2TZLuexLMvURGRkrSAy23AQAAt2MjUwAAsonixYvr1KlTOnz4cIaOGxwcrCeeeEKRkZFydHRU9+7dNW/ePDk43P7XhBMnTujTTz9N/fpWsfDPAuSWYsWKpX74T69ly5Zp2bJl932dk5OTnJycHuget5QsWVKS1KBBg4ca55bevXvrwoULKlSoUOrSnPTasmWLHBwcVLdu3QzJBABATkbpAQBANjF0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VzR79mzNmDFD169flyTlz59f3bp109ixY+Xm5mZyQgAADJQeAABIGjFihGbOnClHR0ctWLBAnTp1MjsSkC0cPXpU8+fP1+zZs5WUlCQnJyc1b95cL730kgYOHGh2PABADkfpAQDI0axWq95//319/vnnyp07t/z8/FS9enWzYwHZTmJiotatW6d58+Zp8+bNslqtqlatmoYNG6bOnTtz6hEAwBSUHgCAHCs+Pl69e/fWsmXLVLduXa1YsUJlypQxOxaQ7f3++++aMWOG1q5dq4iICLm4uKhr166aMWMGG58CADIVpQcAIEc6efKk2rZtq+PHj6tDhw5avHgxH8aADBYZGanvvvtO7777ruLj41W6dGmNHz9er7/+uuzt7c2OBwDIASg9AAA5zrFjx9SwYUNFRERo5MiRmjx5siwWi9mxAJuVmJioefPmacKECQoNDZWrq6uWLVumli1bmh0NAGDj7MwOAABAZtq6dasaNGig6OhojR07VlOmTKHwAB4xR0dHDR48WGfOnFGvXr0UGxurV199VR07dlRQUJDZ8QAANoyZHgCAHGPevHl68803lStXLi1fvlzNmzc3OxKQI128eFHDhw/XypUr5ezsrLZt22rx4sUcEQ0AyHCUHgAAm2e1WtWlSxf98MMPKlmypDZv3qwqVaqYHQvI8bZs2aI2bdooOjpaTz75pObOnauGDRuaHQsAYENY3gIAsGkJCQnq0aOHfvjhB7m7u2vnzp0UHkAW8fzzz+vatWsaP368AgIC9Oyzz6pBgwY6f/682dEAADaCmR4AAJsVFRWl9u3by8fHRy+88IJWrlypvHnzmh0LwF2cPn1aXbp0kb+/v/LmzasZM2aoR48e7LkDAHgozPQAANikwMBAlSpVSj4+PhowYIA2bNhA4QFkYRUqVNCBAwf0+eefy9nZWb169VLTpk3l7+9vdjQAQDbGTA8AgM05evSomjdvrqCgIHXp0kVLly41OxKAdAgLC9OIESPk7e0tq9WqoUOH6uOPP1a+fPnMjgYAyGaY6QEAsCm//vqrnnnmGV25ckXe3t4UHkA2VKRIES1evFizZs1SoUKFNH36dFWqVEmLFy8W368DAKQHpQcAwGaMHj1aL774oqxWqzZs2KBu3bqZHQnAQxg0aJBCQkL02WefKSoqSj179lShQoW0detWs6MBALIJlrcAAGzC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ly6diSkBADnF9OnTNXv2bJ06dUqSVKJECf3www965plnTE4GALdjpgcAZAMTJpzToUPRd30uJiZGffv2Ve3atRUeHq769etr9+7dFB4AgEdm6NChOnHihL777jvlypVLISEhevbZZ1WmTBkdPHjQ7HgAkIrSAwCyuODgeJ0+Haf69fPe8dyGDRvk4eGhBQsWqEiRItq6dav8/Pzk7OxsQlIAQE5isVjUq1cv3bx5U3PmzJGLi4suXLigunXrqnHjxjp69KjZEQGA0gMAsroZM4JVr14+2dtbJElWq/T773+qfPnyevnll3Xt2jW99NJLOnbsmJo0aWJyWgBATuPo6KiBAwfqwoULGjZsmBwdHbVz505Vr15drVq1kp+fn9kRAeRg7OkBAFlYYGCcunf/S999V0kVK7ooODhYr7yyUFJ93bzpr/j4+dq8ea2qVKlidlQAACRJZ8+eVa9evbR3717Fx8fLYrGoRYsW6tq1qzp37mx2PAA5DDM9ACALmz79oqpXd1W5co7q27evypYtq1OnlslqjVfBgs1UsuQK7dxZwOyYAACkKleunHbs2KGzZ8+qUaNGcnFx0S+//KIuXbqoRo0aGjlypCIjI82OCSCHoPQAgCzq4MFI7dkTqWeeuajChQtrwYIFslqtmjChr/z9X1TnzsVktUoLFlzSG2+cNjsuAAC3KV68uHbs2KGQkBB1795dhQsX1p9//qmpU6fKzc1NzZo107fffquUlBSzowKwYSxvAYAsKD4+Rc2aHdbjj0dryZJnlZKSoho1amj1ah8lJrrqyJFoBQcn6I8/onToUJQsFunAgVpmxwYA4J5SUlK0YMECTZ48WefPn1diYqIkoxypVauWvvnmG5UoUcLklABsDaUHAGRBb755SocORevMmQHKlesFlSnTQFaru6Kjb/9umL29Rbly2em114rqrbdKmpQWAID0CQsL06hRo+Tn56eTJ09Kkuzt7VWuXDlNnz5dLVq0MDkhAFtB6QEAWYy39xVNn35RLi72iolJliS5uTnpscec5OnpKk/PPMqf30HlyuVSgQIOJqcFAODh/PLLL5o3b558fHyUkJAgSSpcuLAmTZqkPn36mJwOQHZH6QEAWciVKwl6+eWjslqtypfPQS1bFlbPnu4qWJByAwBg265evarJkydr0aJFCgsLk2SUHytWrOBIdgAPjNID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" } }, "cell_type": "markdown", "metadata": {}, "source": [ "Si nota come `fib_rec(0)`, `fib_rec(1)` e `fib_rec(2)` vengono richiamate ripetutamente. Tutta la parte evidenziata in rosso è ripetuta esattamente due volte. La cosa è ancora più evidente quando si considera la chiamata a `fib_rec(5)`.\n", "\n", "![image.png](attachment:image.png)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "La parte in blu è quella relativa a `fib_rec(4)`. Si vede come passare da `fib_rec(4)` a `fib_rec(5)` non causa soltanto una chiamata ricorsiva in più ma tutto il blocco di chiamate in nero. In particolare, la computazione necessaria per determina `fib_rec(3)`, evidenziate in rosso, viene ripetuta di nuovo nonostante sia già stata eseguita per calcolare `fib_rec(4)`." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Questa continua ripetizione delle stesse computazioni causa l'enorme complessità computazionale di `fib_rec(n)`." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# File" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Vedremo come scrivere programmi che manipolano file. Un file, per il sistema operativo, è semplicemente una sequenza di byte con un nome associato. Dal punt di vista di come un file è utilizzato, si possono distinguere:\n", "* file binari\n", "* file di testo\n", "\n", "I file di testo sono quelli che contengono caratteri, codificati in ASCII o le sue estensioni come Unicode. I file di testo possono essere aperti con un editor di testo quale il *Notepad* di Windows o il *Text Editor* di Linux. I file binari contengono invece sequenze di byte che non possono essere interpretati in maniera sensata come sequenze di caratteri.\n", "\n", "Noi ci occuperemo solo dei file di testo.\n", "\n", "Per operare su un file, di solito si seguono i seguenti passi:\n", "* aprire il file\n", "* leggere / scrivere il contenuto\n", "* chiudere il file" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Lettura di file" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "La seguente istruzione apre il file `prova.txt` in modalità lettura (la `r` come secondo argomento è l'abbreviazione di `read`). Il risultato è un oggetto di tipo file che noi salviamo nella variabile `f`. Ci servirà dopo perché questo oggetto ha dei metodi che ci consentono di operare sul file. " ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [], "source": [ "f = open(\"input.txt\", \"r\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Visualizzare il contenuto di `f` ci dice il nome del file, la modalità con cui è stato aperto (lettura, `r`) e il set di caratteri usato per la codifica (UTF-8)." ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "<_io.TextIOWrapper name='input.txt' mode='r' encoding='UTF-8'>" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "f" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Uno dei metodi che si possono chiamare sull'oggetto `f` è `readline()`, che legge una riga del file e la restituisce come risultato." ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'23\\n'" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "f.readline()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notare che, anche se si tratta di un numero, in maniera simile alla funzione `input` il risultato è comunque una stringa. Inoltre, l'ultimo carattere della stringa è la sequenza di escape `\\n` che rappresenta il carattere di andata a capo (codice ASCII 10)." ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'ciao sono io\\n'" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "f.readline()" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'12\\n'" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "f.readline()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Quando il file è terminato, ogni uteriore chiamata del metodo `readline` restituirà una stringa vuota." ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "''" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "f.readline()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Una volta che abbiamo letto il file possiamo chiuderlo con metodo `close()`." ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [], "source": [ "f.close()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finché un file è aperto, il sistema operativo deve tenere in memoria delle strutture dati per la sua gestione. Pertanto, sempre meglio chiudere un file appena non si usa. Se ci si dimentica di chiuderlo, normalmente viene chiuso automaticamente quando il programma termina. Tuttavia, con alcune implementazioni di Python, se il file è aperto in scrittura, si potrebbero anche perdere le modifiche effettuate." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Una volta che il file è chiuso, ulteriori tentativi di lettura generano un errore." ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "ename": "ValueError", "evalue": "I/O operation on closed file.", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", "Cell \u001b[0;32mIn[42], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43mf\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mreadline\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n", "\u001b[0;31mValueError\u001b[0m: I/O operation on closed file." ] } ], "source": [ "f.readline()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Proviamo ora a scrivere del codice che legge un file costituito da tante righe contenenti numeri, fa la somma di queste righe e stampa il risultato della somma. Si tratta di chiamare ripetutamente il metodo `readline` finché non c'è più niente da leggere. Si rimanda alla lezione del 24 dove vengono esaminate strategie diverse per leggere ripetutamente da tastiera (le stesse strategie si applicano alla lettura da file). Noi useremo la strategia denominata *con lettura di preparazione*." ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "24\n" ] } ], "source": [ "f = open(\"input2.txt\", \"r\")\n", "sum = 0\n", "# legge la prima riga\n", "linea = f.readline()\n", "while linea != \"\":\n", " # elabora la linea\n", " sum += int(linea)\n", " # leggo nuova riga\n", " linea = f.readline()\n", "print(sum)\n", "f.close()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Scrittura di un file" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Per scrivere un file:\n", "* il file va aperto in modalità scrittura, usando la stringa \"w\" (per write) come secondo parametro;\n", "* si può usare il metodo `write` invece di readline per scrivere una stringa dentro al file.\n", "\n", "Il seguente programma scrive sul file `out.txt` il seguente contenuto:\n", "```\n", "Ciao\n", "mi chiamo Gianluca\n", "```" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [], "source": [ "pippo = open(\"out.txt\", \"w\")\n", "pippo.write(\"Ciao\\n\")\n", "pippo.write(\"mi chiamo Gianluca\\n\")\n", "pippo.close()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notare che se il file esiste già, viene svuotato come prima cosa. Se vogliamo che le nostre scritte si aggiungano in fondo ad un file, dovremo usare \"a\" (append) come metodo di apertura invece di \"w\". " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Supponiamo di voler riprendere il programma dell'esempio precedente ma ora, oltre a calcolare la somma, vogliamo che il nostro programma generi un file di output che contenga:\n", "* gli stessi numeri del file in input, allineati a destra\n", "* una sequenza di simboli meno\n", "* la somma dei numeri\n", "\n", "Ad esempio, se l'input è il file\n", "```\n", "2\n", "3\n", "10\n", "9\n", "```\n", "il file di output dovrà contenere qualcosa come\n", "```\n", " 2\n", " 3\n", " 10\n", " 9\n", "------\n", " 24" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [], "source": [ "infile = open(\"input2.txt\", \"r\")\n", "outfile = open(\"out2.txt\", \"w\")\n", "sum = 0\n", "# leggo prima riga\n", "linea = infile.readline()\n", "while linea != \"\":\n", " # converto in intero la linea\n", " n = int(linea)\n", " # scrivo il numero allineato nel file di output\n", " outfile.write(f\"{n:8}\\n\")\n", " # aggiorno la somma\n", " sum += n\n", " # leggo nuova riga\n", " linea = infile.readline()\n", "infile.close()\n", "outfile.write(\"------------\\n\")\n", "outfile.write(f\"{sum:8}\\n\")\n", "outfile.close()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Domanda di uno studente\n", "\n", "Supponiamo di volere perfezionare il programma in modo da scrivere un simbolo `+` a destra di ogni numero, tranne che a destra dell'ultimo numero letto in input a destra del quale va il carattere `=`. Notare che al momento in cui il numero `n` viene visualizzato, non sappiao ancora se è l'ultimo oppure no, e se quindi andrà seguito da un `+` o un `=`. Per questo, la scrittura di `+` e `=` va posticipatà fino a che non abbiamo letto la riga successiva." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "infile = open(\"input2.txt\", \"r\")\n", "outfile = open(\"out2.txt\", \"w\")\n", "sum = 0\n", "# leggo prima riga\n", "linea = infile.readline()\n", "while linea != \"\":\n", " # converto in intero la linea\n", " n = int(linea)\n", " # scrivo il numero allineato nel file di output (senza andata a capo)\n", " outfile.write(f\"{n:8}\")\n", " # aggiorno la somma\n", " sum += n\n", " # leggo nuova riga\n", " linea = infile.readline()\n", " # aggiungo carattere + o = e vado a capo\n", " outfile.write(\" =\\n\" if linea == \"\" else \" +\\n\")\n", "infile.close()\n", "outfile.write(\"------------\\n\")\n", "outfile.write(f\"{sum:8}\\n\")\n", "outfile.close()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Leggere i file con un for" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Invece di leggere le righe di un file esplicitamente con il metodo `readline`, si può sfruttare il fatto che un file in Python è un tipo iterabile: vuol dire che può essere messo dentro una istruzione `for`, in maniera analoga alle stringhe, le liste e i range. Scrivere\n", "```python\n", "for l in f:\n", " # fa qualcosa\n", "```\n", "esegue il corpo del for tante volte, una per ogni linea del file `f` che viene copiata di volta in volta nella variabile `l`. Ad esempio, il programma di prima che calcola la somma dei numeri in `input2.txt` può essere riscritto come segue." ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "24\n" ] } ], "source": [ "f = open(\"input2.txt\", \"r\")\n", "sum = 0\n", "for linea in f:\n", " # faccio qualcosa\n", " sum += int(linea)\n", "print(sum)\n", "f.close()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Domanda di uno studente\n", "\n", "Riprendiamo il problema di prima, quello di prendere i dati in input da un file, e produrre in output un altro file con i dati formattati, i totali, e i segni + o = a destra di ogni numero. Se proviamo a rifarlo utilizzando il `for` per leggere le linee dal file invece che il `while`, notiamo che la cosa è un po' complicata, più che altro per la necessità di distinguere il caso in cui mettere il `+` e il caso in cui mettere il simbolo `=`. Il problema è che non possiamo sapere se mettere `+` o `=` finché abbiamo letto la riga successiva, ma nel caso dell'uso del `for` vuol dire che i `+` e `=` finali di una riga vanno inseriti nella iterazione successiva. Dentro il `for`, quindi, la prima cosa che dovremo fare è aggiungere il `+` per la riga precedente dell'output. Questo però non vale per la prima iterazione del `for`, nella quale non c'è nessuna riga precedente da completare. Per distinguere la prima iterazione dalle altre usiamo la variabile booleana `first`." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "infile = open(\"input2.txt\", \"r\")\n", "outfile = open(\"out2.txt\", \"w\")\n", "sum = 0\n", "# utilizzata per distinguere la prima iterazione del for dalle successive\n", "first = True\n", "for linea in infile:\n", " if not first:\n", " # se non sono alla prima iterazione, scrivo per prima cosa il + e l'andata a capo\n", " # per la riga precedente dell'output.\n", " outfile.write(\"+\\n\")\n", " else:\n", " # altrimenti, se sono alla prima iterazione, non scrivo nulla ma aggiorno la\n", " # variabile first.\n", " first = False\n", " # converto in intero la linea\n", " n = int(linea)\n", " # scrivo il numero allineato nel file di output (senza andata a capo)\n", " outfile.write(f\"{n:8} \")\n", " # aggiorno la somma\n", " sum += n\n", "infile.close()\n", "# concludo l'ultima riga mettendo l'uguale\n", "outfile.write(\"=\\n\")\n", "# scrivo il totale\n", "outfile.write(\"------------\\n\")\n", "outfile.write(f\"{sum:8}\\n\")\n", "outfile.close()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Ad ogni modo, questa soluzione è meno leggibile della precedente. La morale di questo esempio è che di solito usare il `for` per leggere un file rende il programma più leggibile, ma non sempre." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## L'istruzione with\n", "\n", "Per evitare di dimenticarsi di chiudere un file, Python mette a disposizione l'istruzione `with` che si occupa di chiudere automaticamente un file. Il programma di prima, con l'istruzione `with` diventa:" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "24\n" ] } ], "source": [ "with open(\"input2.txt\", \"r\") as f:\n", " sum = 0\n", " for linea in f:\n", " # faccio qualcosa\n", " sum += int(linea)\n", " print(sum)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In pratica viene eseguita la funzione `open(\"input2.txt\", \"r\")` ed il risultato viene messo in `f`. Poi viene eseguito tutto il corpo del `with`. Quando il corpo è finito, il file `f` viene chiuso automaticamente.\n", "\n", "In realtà, la `with` fa qualcosa in più rispetto alla semplice chiusura automatica, ma per questo dovremo aspettare la prossima lezione sulle eccezioni." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Elaborare più dati sulla stessa riga" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Nell amaggior parte dei casi, una riga di un file non conterrà una singola informazione, ma più informazioni separate da caratteri come spazi e virgole. Per trattare file di questo tipo, facciamo prima una digressione e parliamo del metodo `split` per le string." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Il metodo `split()` prende la stringa a cui è applicato, la divide in sottostringhe separati da spazi, e restituisce le varie sottostringhe sotto forma di una lista di stringhe." ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [], "source": [ "s = \"ciao 23 sono -1\"" ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['ciao', '23', 'sono', '-1']" ] }, "execution_count": 56, "metadata": {}, "output_type": "execute_result" } ], "source": [ "s.split()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "I pezzi che compongo `s`, ovvero `ciao`, `23`, `sono` e `-1` sono stati separati e restituiti sotto forma di una lista." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Può accadere che le informazioni in una riga non siano separati da spazi ma altri caratteri, come le virgole. In tal caso, il carattere separatore può essere indicato come argomento di `split`." ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [], "source": [ "s=\"23,12,34\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Se provo una semplice `s.split()`, l'intera stringa `23,12,34` viene considerata come una unica componente." ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['23,12,34']" ] }, "execution_count": 58, "metadata": {}, "output_type": "execute_result" } ], "source": [ "s.split()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Se invece fornisco la virgola come parametro, i tre numeri vengono correttamente separati." ] }, { "cell_type": "code", "execution_count": 59, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['23', '12', '34']" ] }, "execution_count": 59, "metadata": {}, "output_type": "execute_result" } ], "source": [ "s.split(\",\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A questo punto, però, gli spazi non hanno nessun trattamente particolare e sono visti come caratteri veri e propri e non elementi di separazione." ] }, { "cell_type": "code", "execution_count": 60, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['23', ' 12', ' 24']" ] }, "execution_count": 60, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\"23, 12, 24\".split(\",\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Si vede come le stringhe risultato di `split` contengono degli spazi." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Vediamo adesso di mettere a buon uso questa funzione `split`. Supponiamo che il nostro file `input3.txt` abbia questa struttura:\n", "```\n", "Pescara 123 88\n", "Chieti 67 23\n", "Teramo 88 182\n", "```\n", "e supponiamo di voler produre come output la stessa sequenza di città, ma con accanto un numero ottenuto come somma dei due numeri dati. Dando in input l'esempio di sopra, vorremmo ottenere:\n", "```\n", "Pescara 211\n", "Chieti 90\n", "Teramo 270\n", "```\n", "Possiamo leggere il file di input una riga alla volta, e usare il metodo `split` per separare le tre colonne." ] }, { "cell_type": "code", "execution_count": 62, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Pescara 211\n", "Chieti 90\n", "Teramo 270\n" ] } ], "source": [ "with open(\"input3.txt\", \"r\") as f:\n", " for linea in f:\n", " # Uso l'assegnmento multiplo per mettere i tre valori che risultano dal metodo `split()`\n", " # direttamente nelle tre variabili citta, x ed y. Si veda la lezione del 21 novembre 2023.\n", " citta, x, y = linea.split()\n", " print(citta, int(x) + int(y))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Leggere uno o più caratteri alla volta" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Un'alternativa all'uso di `readline` o del `for` è l'uso del metodo `read`. Il metodo `read()`, se usato senza parametri, legge tutto il file fino alla fine e lo restituisce come una unica stringa. Altrimenti, se viene specificato un numero come parametro, leggerà il numero di caratteri specificato nel parametro." ] }, { "cell_type": "code", "execution_count": 66, "metadata": {}, "outputs": [], "source": [ "f = open(\"input3.txt\", \"r\")" ] }, { "cell_type": "code", "execution_count": 67, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'P'" ] }, "execution_count": 67, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# legge un carattere\n", "f.read(1)" ] }, { "cell_type": "code", "execution_count": 68, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'e'" ] }, "execution_count": 68, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# legge il carattere successivo\n", "f.read(1)" ] }, { "cell_type": "code", "execution_count": 69, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'scara'" ] }, "execution_count": 69, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# legge i successivi 5 caratteri\n", "f.read(5)" ] }, { "cell_type": "code", "execution_count": 70, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "' 123 88\\nChieti 67 23\\nTeramo 88 182\\n'" ] }, "execution_count": 70, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# legge tutto fino alla fine\n", "f.read()" ] }, { "cell_type": "code", "execution_count": 71, "metadata": {}, "outputs": [], "source": [ "f.close()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Voglio usare `read(1)` per leggere un file un carattere alla volta e contare quante volte compare nel file ogni lettera dell'alfabato. Per far ciò userò una lista per contenre i conteggi di tutte le lettere. La posizione `0` della lista conterrà il numero di `A` lette dal file, la posizione `1` il numero di `B` fino alla posizione `25` che contiene il numero di `Z`." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Mi servirà però il modo di convertire una lettera da `A` a `Z` in un numero da 0 a 25 e, viceversa, il modo di convertire un numero da 0 a 25 in una lettera da `A` a `Z`. Per questo possono tornare utili le funzioni predefinite `chr` e `ord`." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "La funzione `ord` perende in input un carattere e restituisce il codice Unicode associato carattere (è un intero)." ] }, { "cell_type": "code", "execution_count": 75, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "65" ] }, "execution_count": 75, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# La lettere A maiuscola ha codice Unicode (e ASCII) 65\n", "ord(\"A\")" ] }, { "cell_type": "code", "execution_count": 76, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "66" ] }, "execution_count": 76, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# La lettere B maiuscola ha codice Unicode (e ASCII) 66\n", "ord(\"B\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "La funzione `chr` fa esattamente il contrario: prende un intero e restituisce il carattere che ha il codice Unicode passato come parametro." ] }, { "cell_type": "code", "execution_count": 77, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'A'" ] }, "execution_count": 77, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# La lettere A maiuscola ha codice Unicode (e ASCII) 65\n", "chr(65)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Se nella variabile `ch` ho un carattere da `A` a `Z` e voglio convertirlo in un numero da `0` a `25`, mi basta calcolare il codice numerico di `ch` (che va da 65 in poi) e sottrarre 65 (che è il codice della A maiuscola. Questo perché i codici numerici delle lettere maiuscole sono consecutivi. Viceversa, se ho un numero `i` da 0 a 25 e voglio trasformarlo in una lettera da `A` a `Z`, mi basta sommare ad `i` il codice numerico della lettera `A` (65) e passare il tutto alla funzione `chr`." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Siamo pronti per scrivere il programma voluto." ] }, { "cell_type": "code", "execution_count": 79, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "A 3\n", "B 0\n", "C 2\n", "D 0\n", "E 3\n", "F 0\n", "G 0\n", "H 1\n", "I 2\n", "J 0\n", "K 0\n", "L 0\n", "M 1\n", "N 0\n", "O 1\n", "P 1\n", "Q 0\n", "R 2\n", "S 1\n", "T 2\n", "U 0\n", "V 0\n", "W 0\n", "X 0\n", "Y 0\n", "Z 0\n" ] } ], "source": [ "with open(\"input3.txt\") as f:\n", " # creo la lista che conterrà i conteggi delle 26 lettere\n", " conteggi = [0] * 26\n", " # leggo il primo carattere\n", " ch = f.read(1)\n", " while ch != \"\":\n", " # converto in maiuscolo\n", " ch = ch.upper()\n", " # se il carattere è una lettera, ovvero è compreso tra \"A\" e \"Z\"\n", " if \"A\" <= ch <= \"Z\":\n", " # determino l'equivalente numerico di ch\n", " x = ord(ch) - ord(\"A\")\n", " # incremento il conteggio corretto\n", " conteggi[x] += 1\n", " # leggo un nuovo carattere\n", " ch = f.read(1)\n", "\n", "# visualizzo ail risultato\n", "for i in range(len(conteggi)):\n", " # converto l'indice i in una lettera\n", " ch = chr(i + ord('A'))\n", " print(ch, conteggi[i])" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.1" } }, "nbformat": 4, "nbformat_minor": 2 }