{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Programmare in Python\n", "\n", "## Esercizi: Tipi di dati\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__1 - Usando le operazioni `modulo (%)` e `divisione intera (//)` verificate numericamente che per qualunque coppia di numeri interi `n,m` vale `n = (n//m)*m + n%m`.__" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__2 - Usando l' operazione `modulo (%)` costruite una funzione `last_digit(n)` che restituisca l'ultima cifra del numero intero `n`. Esempio: `last_digit(347)` deve restituire `7`.__" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__3 - Sia a1 = 173.356035. Calcolate a1 - 173.__" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__4 - Sia a = 27387.15467. Calcolate la radice quadrata di a. Moltiplicate il risultato per se stesso.__" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__5 - Verificate numericamente che per qualunque `a`, `b`, `c`,`d` reali, \n", "$(a + i b)\\,(c + i d) = a c - b d + i\\, (a d + b c)$.__" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__6 - Verificate numericamente che per qualunque `a`, `b` reali, \n", "$1/(a + i b) = (a - i b)/(a^2 + b^2)$.__" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__7 - Dato un numero intero `N` determinare il numero di cifre che lo compongono.__" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__8 - Dato un numero reale `R` determinare il numero di cifre che compongono la sua parte intera e quella decimale.(Hint: usare le stringhe. Questo metodo funziona solo se il numero reale ha un numero di cifre non superiore a 14$\\div$15. Qual'è la ragione?__" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__9 - Generate la lista A dei numeri interi fra 7 e 37.__" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__10- Generate la lista B dei numeri pari fra 50 e 100, estremi inclusi__" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__11 - Costruite la lista L1 dei numeri pari fra 16 e 42, estremi inclusi. A partire da L1 costruite la lista L2 che contiene gli stessi valori in ordine decrescente.__" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__12 - Costruite la lista A dei numeri pari fra 11 e 33. Estraete da A la lista B che contiene gli elementi di indice da 3 a 8.__" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__13 - Da \"Nel mezzo del cammin di nostra vita mi ritrovai in una selva oscura.\" estraete la nona parola__" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__14 - Costruite una funzione che estragga da una stringa in input il primo e il penultimo carattere.\n", "Come ci si può proteggere nel caso in cui la stringa abbia zero o un carattere? (La risposta nella prossima lezione.)__\n", "\n", "__Test:__\n", "\n", "* Input: \"gF20\"\n", "* Output: \"primo carattere: g, penultimo carattere: 2\"" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__15 - Usando le operazione su stringhe costruite una funzione `last_digit_string(n)` che restituisca l'ultima cifra del numero intero `n`. Esempio: `last_digit_string(347)` deve restituire il numero intero `7`.__" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__16 - Dato il dizionario:__" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "capitali = {\"Germania\":\"Berlino\",\"Spagna\":\"Madrid\"}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__aggiungete (usando comandi di Python) Italia e Francia con le rispettive capitali.__" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__17 - Generate un dizionario `mesi` che abbia come chiavi i nomi dei mesi e come valori i corripondenti valori numerici. Per esempio Giugno corrisponde a 6.__" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__18 - Senza usare la funzione intrinseca di Python per invertire l'ordine di una lista, costruite la vostra funzione `my_reverse` che prende in input una lista `L` e la restituisce con tutti gli elementi in ordine inverso.__" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__19 - Definiamo \"parole\" come sequenze di caratteri diversi dallo spazio, separate da spazi. Costruite una funzione `last_word(s)` che restituisca l'ultima parola in `s`, cioè la sottostringa che inizia dopo l'ultimo carattere \"spazio\" in `s`. Se la stringa non contiene spazi, la stringa stessa è l'ultima parola.__" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__20 - Costruite una funzione che prenda come input una lista di interi L e un intero n, contenuto nella lista, e restituisca l'indice dell'elemento n in L.__" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__21 - Usando `help(str)` esplorate l'uso del metodo count. Utilizzatelo per trovare quante volte il carattere `a` compare in \"Nel mezzo del cammin di nostra vita mi ritrovai in una selva oscura.__" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__22 - Dato il dizionario: val = {1:100,2:200,3:300} verificate se nel dizionario è presente la chiave `3` e se è presente il valore `400`.__" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__23 - Costruite una nuova ntupla `tuple2` estraendo i valori 44 e 55\n", "dalla ntupla tuple1 = (11, 22, 33, 44, 55, 66).__" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "hide_input": false, "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.9.12" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": true, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": {}, "toc_section_display": true, "toc_window_display": false }, "varInspector": { "cols": { "lenName": 16, "lenType": 16, "lenVar": 40 }, "kernels_config": { "python": { "delete_cmd_postfix": "", "delete_cmd_prefix": "del ", "library": "var_list.py", "varRefreshCmd": "print(var_dic_list())" }, "r": { "delete_cmd_postfix": ") ", "delete_cmd_prefix": "rm(", "library": "var_list.r", "varRefreshCmd": "cat(var_dic_list()) " } }, "types_to_exclude": [ "module", "function", "builtin_function_or_method", "instance", "_Feature" ], "window_display": false } }, "nbformat": 4, "nbformat_minor": 4 }