|
35 | 35 | "\n", |
36 | 36 | "Per scrivere codice, hai bisogno di un programma chiamato **editor di testo** o di un **IDE (Integrated Development Environment)**.\n", |
37 | 37 | "\n", |
38 | | - "- **Editor di testo:** Un programma leggero (come Blocco Note su Windows o TextEdit su macOS) che ti permette di scrivere testo semplice. È perfetto per iniziare.\n", |
| 38 | + "- **Editor di testo:** Un programma leggero (come vi su Linux/macOS o Blocco Note su Windows) che ti permette di scrivere testo semplice. È perfetto per iniziare.\n", |
39 | 39 | "- **IDE:** Un ambiente più completo che include un editor, un debugger, un compilatore e altri strumenti. È ottimo per progetti complessi, ma può essere più impegnativo per i principianti.\n", |
40 | 40 | "\n", |
41 | | - "Per questo corso, un **editor di testo** è più che sufficiente. Ti consigliamo **[Visual Studio Code (VS Code)](https://code.visualstudio.com/)**, che è gratuito, leggero e disponibile per tutti i sistemi operativi, nel caso di utilizzo di un IDE." |
| 41 | + "Per questo corso, un **editor di testo** è più che sufficiente. Se vuoi utilizzare un IDE, ti consigliamo **[Visual Studio Code (VS Code)](https://code.visualstudio.com/)**, che è gratuito, leggero e disponibile per tutti i sistemi operativi, nel caso di utilizzo di un IDE." |
42 | 42 | ] |
43 | 43 | }, |
44 | 44 | { |
|
132 | 132 | "metadata": {}, |
133 | 133 | "outputs": [], |
134 | 134 | "source": [ |
135 | | - "def saluta_utente():\n", |
136 | | - " nome = input(\"Come ti chiami? \")\n", |
137 | | - " print(f\"Ciao, {nome}!\")\n", |
| 135 | + "def greet_user():\n", |
| 136 | + " user_name = input(\"What is your name? \")\n", |
| 137 | + " print(f\"Hello, {user_name}!\")\n", |
138 | 138 | "\n", |
139 | 139 | "if __name__ == \"__main__\":\n", |
140 | | - " saluta_utente()" |
| 140 | + " greet_user()" |
141 | 141 | ] |
142 | 142 | }, |
143 | 143 | { |
|
182 | 182 | "source": [ |
183 | 183 | "import sys\n", |
184 | 184 | "\n", |
185 | | - "def saluta_utente_con_argomento():\n", |
| 185 | + "def greet_user_with_arguments():\n", |
186 | 186 | " if len(sys.argv) > 1:\n", |
187 | | - " nome = sys.argv[1] # sys.argv[0] è il nome del file\n", |
188 | | - " print(f\"Ciao, {nome}! Benvenuto.\")\n", |
| 187 | + " user_name = sys.argv[1] # sys.argv[0] è il nome del file\n", |
| 188 | + " print(f\"Hello, {user_name}! Welcome!\")\n", |
189 | 189 | " else:\n", |
190 | | - " print(\"Errore: Nessun nome fornito. Esegui il programma così: python3 saluta_args.py <il_tuo_nome>\")\n", |
| 190 | + " print(\"Error: No name provided. Run the script using: python3 saluta_args.py <your_name>\")\n", |
191 | 191 | "\n", |
192 | 192 | "if __name__ == \"__main__\":\n", |
193 | | - " saluta_utente_con_argomento()" |
| 193 | + " greet_user_with_arguments()" |
194 | 194 | ] |
195 | 195 | }, |
196 | 196 | { |
|
238 | 238 | "---\n", |
239 | 239 | "## 5. Un breve sguardo all'interprete\n", |
240 | 240 | "\n", |
241 | | - "Python è un **linguaggio interpretato**, a differenza di linguaggi come C++ che sono compilati. Questo significa che il tuo codice non viene tradotto in un file eseguibile separato prima di essere lanciato.\n", |
| 241 | + "Python è un **linguaggio interpretato**, a differenza di linguaggi come C o C++ che sono compilati. Questo significa che il tuo codice non viene tradotto in un file eseguibile separato prima di essere lanciato.\n", |
242 | 242 | "\n", |
243 | 243 | "Il processo di esecuzione funziona in questo modo:\n", |
244 | 244 | "\n", |
|
276 | 276 | "id": "jupyter_section_2", |
277 | 277 | "metadata": {}, |
278 | 278 | "source": [ |
279 | | - "### 6.2. Come installarlo e avviarlo\n", |
280 | | - "\n", |
281 | | - "Ci sono due modi principali per iniziare a usare Jupyter:" |
282 | | - ] |
283 | | - }, |
284 | | - { |
285 | | - "cell_type": "markdown", |
286 | | - "id": "jupyter_section_2_option_1", |
287 | | - "metadata": {}, |
288 | | - "source": [ |
289 | | - "#### Opzione 1: Installazione con Anaconda (Consigliato)\n", |
290 | | - "\n", |
291 | | - "Anaconda è una piattaforma che include Python, Jupyter e molte librerie scientifiche già pronte. È l'opzione più semplice per iniziare.\n", |
292 | | - "\n", |
293 | | - "1. Scarica e installa [Anaconda](https://www.anaconda.com/download) per il tuo sistema operativo (Windows, macOS, Linux).\n", |
294 | | - "2. Dopo l'installazione, apri il **Terminale** (su macOS/Linux) o il **Prompt dei comandi/Anaconda Prompt** (su Windows).\n", |
295 | | - "3. Digita il comando `jupyter notebook` e premi Invio.\n", |
296 | | - "\n", |
297 | | - "Il tuo browser predefinito si aprirà automaticamente con l'interfaccia di Jupyter." |
298 | | - ] |
299 | | - }, |
300 | | - { |
301 | | - "cell_type": "markdown", |
302 | | - "id": "jupyter_section_2_option_2", |
303 | | - "metadata": {}, |
304 | | - "source": [ |
305 | | - "#### Opzione 2: Installazione con pip\n", |
306 | | - "\n", |
307 | | - "Se hai già Python installato, puoi usare `pip` per installare solo Jupyter.\n", |
308 | | - "\n", |
309 | | - "1. Apri il **Terminale** (su macOS/Linux) o il **Prompt dei comandi** (su Windows).\n", |
310 | | - "2. Installa Jupyter con il comando `pip install notebook`.\n", |
311 | | - "3. Avvia Jupyter con il comando `jupyter notebook`." |
312 | | - ] |
313 | | - }, |
314 | | - { |
315 | | - "cell_type": "markdown", |
316 | | - "id": "jupyter_section_2_option_3", |
317 | | - "metadata": {}, |
318 | | - "source": [ |
319 | | - "#### Opzione 3: Jupyter Online (senza installazione)\n", |
320 | | - "\n", |
321 | | - "Se non vuoi installare nulla, puoi usare servizi online come **Google Colab** o **JupyterLite** che ti permettono di usare un'interfaccia Jupyter direttamente nel browser. Ti basta un account Google per usare Google Colab." |
322 | | - ] |
323 | | - }, |
324 | | - { |
325 | | - "cell_type": "markdown", |
326 | | - "id": "jupyter_section_3", |
327 | | - "metadata": {}, |
328 | | - "source": [ |
329 | | - "### 6.3. L'interfaccia di Jupyter\n", |
| 279 | + "### 6.2. L'interfaccia di Jupyter\n", |
330 | 280 | "\n", |
331 | 281 | "Una volta avviato, vedrai la dashboard di Jupyter. Da qui puoi navigare tra le cartelle e creare nuovi notebook. Un notebook è composto da **celle**.\n", |
332 | 282 | "\n", |
|
336 | 286 | }, |
337 | 287 | { |
338 | 288 | "cell_type": "markdown", |
339 | | - "id": "jupyter_section_4", |
| 289 | + "id": "jupyter_section_3", |
340 | 290 | "metadata": {}, |
341 | 291 | "source": [ |
342 | | - "### 6.4. Eseguire una cella di codice\n", |
| 292 | + "### 6.3. Eseguire una cella di codice\n", |
343 | 293 | "\n", |
344 | 294 | "Per eseguire una cella, selezionala e premi **`Shift + Invio`**. Vedrai l'output apparire subito sotto la cella. Il numero tra parentesi `[ ]` indica l'ordine di esecuzione." |
345 | 295 | ] |
346 | 296 | }, |
347 | 297 | { |
348 | 298 | "cell_type": "code", |
349 | 299 | "execution_count": null, |
350 | | - "id": "jupyter_section_4_code_1", |
| 300 | + "id": "jupyter_section_3_code_1", |
351 | 301 | "metadata": {}, |
352 | 302 | "outputs": [], |
353 | 303 | "source": [ |
354 | 304 | "# Questo è un commento, viene ignorato da Python.\n", |
355 | 305 | "# Prova a eseguire questa cella con Shift + Invio\n", |
356 | 306 | "\n", |
357 | | - "print(\"Ciao, mondo!\")\n", |
| 307 | + "print(\"Hello, world!\")\n", |
358 | 308 | "10 + 5" |
359 | 309 | ] |
360 | 310 | }, |
361 | 311 | { |
362 | 312 | "cell_type": "markdown", |
363 | | - "id": "jupyter_section_4_sub", |
| 313 | + "id": "jupyter_section_3_sub", |
364 | 314 | "metadata": {}, |
365 | 315 | "source": [ |
366 | 316 | "#### Assegnare e usare variabili\n", |
|
371 | 321 | { |
372 | 322 | "cell_type": "code", |
373 | 323 | "execution_count": null, |
374 | | - "id": "jupyter_section_4_code_2", |
| 324 | + "id": "jupyter_section_3_code_2", |
375 | 325 | "metadata": {}, |
376 | 326 | "outputs": [], |
377 | 327 | "source": [ |
378 | | - "nome = \"Luca\"\n", |
379 | | - "eta = 30" |
| 328 | + "user_name = \"Luca\"\n", |
| 329 | + "age = 30" |
380 | 330 | ] |
381 | 331 | }, |
382 | 332 | { |
383 | 333 | "cell_type": "code", |
384 | 334 | "execution_count": null, |
385 | | - "id": "jupyter_section_4_code_3", |
| 335 | + "id": "jupyter_section_3_code_3", |
386 | 336 | "metadata": {}, |
387 | 337 | "outputs": [], |
388 | 338 | "source": [ |
389 | | - "print(f\"Il mio nome è {nome} e ho {eta} anni.\")" |
| 339 | + "print(f\"My name is {user_name} and I'm {age} years old.\")" |
390 | 340 | ] |
391 | 341 | }, |
392 | 342 | { |
393 | 343 | "cell_type": "markdown", |
394 | | - "id": "jupyter_section_5", |
| 344 | + "id": "jupyter_section_4", |
395 | 345 | "metadata": {}, |
396 | 346 | "source": [ |
397 | | - "### 6.5. L'Output delle celle\n", |
| 347 | + "### 6.4. L'Output delle celle\n", |
398 | 348 | "\n", |
399 | 349 | "Jupyter mostra automaticamente il valore dell'ultima riga di codice, anche senza `print()`." |
400 | 350 | ] |
401 | 351 | }, |
402 | 352 | { |
403 | 353 | "cell_type": "code", |
404 | 354 | "execution_count": null, |
405 | | - "id": "jupyter_section_5_code_1", |
| 355 | + "id": "jupyter_section_4_code_1", |
406 | 356 | "metadata": {}, |
407 | 357 | "outputs": [], |
408 | 358 | "source": [ |
|
412 | 362 | }, |
413 | 363 | { |
414 | 364 | "cell_type": "markdown", |
415 | | - "id": "jupyter_section_5_sub", |
| 365 | + "id": "jupyter_section_4_sub", |
416 | 366 | "metadata": {}, |
417 | 367 | "source": [ |
418 | 368 | "Se vuoi visualizzare più valori, devi usare `print()`." |
|
421 | 371 | { |
422 | 372 | "cell_type": "code", |
423 | 373 | "execution_count": null, |
424 | | - "id": "jupyter_section_5_code_2", |
| 374 | + "id": "jupyter_section_4_code_2", |
425 | 375 | "metadata": {}, |
426 | 376 | "outputs": [], |
427 | 377 | "source": [ |
|
434 | 384 | }, |
435 | 385 | { |
436 | 386 | "cell_type": "markdown", |
437 | | - "id": "jupyter_section_6", |
| 387 | + "id": "jupyter_section_5", |
438 | 388 | "metadata": {}, |
439 | 389 | "source": [ |
440 | | - "### 6.6. Errori e Debugging\n", |
| 390 | + "### 6.5. Errori e Debugging\n", |
441 | 391 | "\n", |
442 | 392 | "Jupyter ti aiuta a capire gli errori stampando l'intera traccia dell'errore (traceback)." |
443 | 393 | ] |
444 | 394 | }, |
445 | 395 | { |
446 | 396 | "cell_type": "code", |
447 | 397 | "execution_count": null, |
448 | | - "id": "jupyter_section_6_code", |
| 398 | + "id": "jupyter_section_5_code", |
449 | 399 | "metadata": {}, |
450 | 400 | "outputs": [], |
451 | 401 | "source": [ |
|
504 | 454 | "metadata": {}, |
505 | 455 | "source": [ |
506 | 456 | "### Esercizio 3: Funzione e main\n", |
507 | | - "Scrivi un programma chiamato `calcolatrice.py` che definisce una funzione `somma(a, b)` e la chiama all'interno del blocco `if __name__ == \"__main__\":` per stampare il risultato di una somma, ad esempio 5 + 3." |
| 457 | + "Scrivi un programma chiamato `calcolatrice.py` che definisce una funzione `sum(a, b)` e la chiama all'interno del blocco `if __name__ == \"__main__\":` per stampare il risultato di una somma, ad esempio 5 + 3." |
508 | 458 | ] |
509 | 459 | }, |
510 | 460 | { |
|
541 | 491 | "metadata": {}, |
542 | 492 | "outputs": [], |
543 | 493 | "source": [ |
544 | | - "def saluta_utente():\n", |
545 | | - " nome = input(\"Come ti chiami? \")\n", |
546 | | - " print(f\"Ciao {nome}! È un piacere averti qui.\")\n", |
| 494 | + "def greet_user():\n", |
| 495 | + " user_name = input(\"Wha is your name? \")\n", |
| 496 | + " print(f\"Hello {user_name}! It is a real pleasure to have you here.\")\n", |
547 | 497 | "\n", |
548 | 498 | "if __name__ == \"__main__\":\n", |
549 | | - " saluta_utente()" |
| 499 | + " greet_user()" |
550 | 500 | ] |
551 | 501 | }, |
552 | 502 | { |
|
566 | 516 | "source": [ |
567 | 517 | "import math\n", |
568 | 518 | "\n", |
569 | | - "def calcola_radice():\n", |
570 | | - " numero = float(input(\"Inserisci un numero: \"))\n", |
571 | | - " radice = math.sqrt(numero)\n", |
572 | | - " print(f\"La radice quadrata di {numero} è {radice}\")\n", |
| 519 | + "def calculate_square_root():\n", |
| 520 | + " number = float(input(\"Enter a number: \"))\n", |
| 521 | + " square_root = math.sqrt(number)\n", |
| 522 | + " print(f\"The square root of {number} is {square_root}\")\n", |
573 | 523 | "\n", |
574 | 524 | "if __name__ == \"__main__\":\n", |
575 | | - " calcola_radice()" |
| 525 | + " calculate_square_root()" |
576 | 526 | ] |
577 | 527 | }, |
578 | 528 | { |
|
590 | 540 | "metadata": {}, |
591 | 541 | "outputs": [], |
592 | 542 | "source": [ |
593 | | - "def somma(a, b):\n", |
| 543 | + "def sum(a, b):\n", |
594 | 544 | " \"\"\"Restituisce la somma di due numeri.\"\"\"\n", |
595 | 545 | " return a + b\n", |
596 | 546 | "\n", |
597 | 547 | "if __name__ == \"__main__\":\n", |
598 | | - " risultato = somma(5, 3)\n", |
599 | | - " print(f\"Il risultato della somma è: {risultato}\")" |
| 548 | + " result = sum(5, 3)\n", |
| 549 | + " print(f\"Result is: {result}\")" |
600 | 550 | ] |
601 | 551 | } |
602 | 552 | ], |
|
0 commit comments