Profilo di kant80

Nome kant80
Indirizzo email n/a
Messaggi4
  • Re: Esercizio su Cicli While e For
    Forum >> Principianti
    Ok, allora mi tocca aspettare di imparare e di dovervi ancora disturbare. :) :)
    A presto e buona domenica, ma soprattutto grazie di tutto :fingers-crossed: :fingers-crossed:
  • Re: Esercizio su Cicli While e For
    Forum >> Principianti
    Ciao Daniele,
    quando sono tornato a casa ho subito sistemato il codice seguendo i tuoi suggerimenti ed alla fine ho scritto questo:




    mylist = []
    while True:
        val = input("Inserisci un numero: ")
        try:
            int(val)
            mylist.append(int(val))
        except ValueError:
            try:
                float(val)
                mylist.append(float(val))
            except ValueError:
                if val == str(val) != 'fatto': print('Non hai inserito un numero valido')
                if val == 'fatto':
                    break
                    print('Fatto')
    
    print(len(mylist), sum(mylist), sum(mylist)/len(mylist))





    Il risultato è quello che desideravo, grazie mille (conoscevo la funzione sum() e mi ero scordato l'esistenza di len()); vorrei chiederti solo un'ultima cosa, hai accennato al fatto che tu lo avresti scritto in modo più sintetico, come?

    Faccio questa domanda perché sono un principiante (mooooolto principiante ed autodidatta, come ti ho scritto sto seguendo quella guida di cui al primo post) quindi con le tue dritte sulle correzioni apportate al mio script e con i tuoi suggerimenti per scrivere in modo più stringato spero di imparare velocemente.

    Grazie mille di tutto, scusa il disturbo e soprattutto buon fine settimana.
  • Re: Esercizio su Cicli While e For
    Forum >> Principianti
    Ciao Daniele,
    intanto ti ringrazio per la risposta e perdonami per il casino che ho combinato, ecco il codice "sistemato" (sperando nel modo giusto):




    while True:
        number = input('Enter a number:')
        mylist = []
        try:
            if number == float(number):
                continue
        except:
            if number == str(number) != 'done': print('Invalid data')
    
            if number == 'done':
                break
    
    count = 0
    for itervar in mylist:
        count = count + 1
    
    total = 0
    for itervar in mylist:
        total = total + itervar
    
    print(count, total, total/count)


    Sicuramente ci saranno parecchi (se non troppi) errori, ma a me manca come memorizzare i valori che inserisco in 'mylist' per poi conteggiarli e sommarli.

    Perdonatemi ancora per il mio errore da principiante e soprattutto perché continuerò ancora a farne, e vi pregherei di aiutarmi a migliorare.

    Un abbraccio ed un ringraziamento a tutti, a presto (spero)
    P.S.: per non sbagliare ho caricato anche il file.py :)







  • [Risolto] Esercizio su Cicli While e For
    Forum >> Principianti
    Salve a tutti,
    sono un principiante (ma moooolto principiante) su Python, per imparare questo linguaggio mi sto basando momentaneamente sul libro in pdf "Python per tutti - Esplorare dati con Python 3" (di Charles R. Severance) e sono arrivato al Capitolo 5 sui Cicli.




    Il mio problema nasce nell'Esercizio 1:


    Scrivi un programma che legga ripetutamente i numeri fino a quando l’utente non digiti “finito”. Una volta che viene digitato “finito”, dovrà essere visualizzato il totale, il conteggio e la media dei numeri. Se l’utente dovesse digitare qualcosa di diverso da un numero, occorrerà rilevare l’errore usando try e except, visualizzare un messaggio di errore e passare al numero successivo.



    Enter a number: 4

    Enter a number: 5

    Enter a number: bad data

    Invalid input

    Enter a number: 7

    Enter a number: done

    16 3 5.333333333333333




    io ho compilato questa parte di programma per l'inserimento dei numeri:

    while True:
    number = input('Enter a number:')
    mylist = []
    try:
    if number == float(number):
    continue
    except:
    if number == str(number) != 'done': print('Invalid data')

    if number == 'done':
    break
    siccome vorrei proseguire con il seguente listato:count = 0
    for itervar in [3, 41, 12, 9, 74, 15]:
    count = count + 1

    total = 0
    for itervar in [3, 41, 12, 9, 74, 15]:
    total = total + itervar

    print(count, total, total/count)come posso aggiungere sistematicamente i valori che inserisco in mylist = [] e sostituirli in [3, 41, 12, 9, 74, 15]?Ringrazio anticipatamente per il vostro splendido aiuto



    --- Ultima modifica di kant80 in data 2022-02-13 18:25:06 ---