Topic: Esercizio in Python  (Letto 105 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline Valentina9213

  • python unicellularis
  • *
  • Post: 11
  • Punti reputazione: 0
    • Mostra profilo
Esercizio in Python
« il: Gennaio 19, 2021, 16:23 »
Ciao ragazzi,
ho bisogno di un aiutino su questo esercizio.


a = 1
b = 2
c = 3
d = 4

nome_parametro = input("Inserisci il nome del parametro che vuoi visualizzare:")
print(nome_parametro)



Il programma di esempio è questo, devo poter riuscire a stampare il parametro che scelgo io nella funzione.
Ovvero se "Inserisco il nome del parametro che vuoi visualizzare" e chiedo di visualizzare "a",
mi dovrebbe stampare a video il numero 1;
Se invece ,"Inserisco il nome del parametro che vuoi visualizzare" e chiedo di visualizzare "b",
mi dovrebbe stampare a video il numero 2;
E così via..
Come posso fare?

Grazie in anticipo.


« Ultima modifica: Gennaio 19, 2021, 16:43 da Valentina9213 »

Offline nuzzopippo

  • python neanderthalensis
  • ****
  • Post: 352
  • Punti reputazione: 0
    • Mostra profilo
Re:Esercizio in Python
« Risposta #1 il: Gennaio 19, 2021, 18:53 »
uno dei millemila modi possibili :
>>> params = {'a': 1, 'b': 2, 'c': 3, 'd': 4}
>>> def chiedi():
nome_parametro = input('inserisci il nome del parametro che vuoi visualizzare: ')
print (params[nome_parametro]) if nome_parametro in params.keys() else print("%s non c'è" % nome_parametro)


>>> chiedi()
inserisci il nome del parametro che vuoi visualizzare: c
3
>>> chiedi()
inserisci il nome del parametro che vuoi visualizzare: a
1
>>> chiedi()
inserisci il nome del parametro che vuoi visualizzare: f
f non c'è
>>>

Offline Valentina9213

  • python unicellularis
  • *
  • Post: 11
  • Punti reputazione: 0
    • Mostra profilo
Re:Esercizio in Python
« Risposta #2 il: Gennaio 19, 2021, 19:28 »
Questo per un esempio. Grazie mille.
Invece se dovessi prendere i parametri che sono all'interno di un file .csv, con una serie di valori.
Del tipo:


nome_file = open("nome_file.csv")

for z in nome_file.readlines():
    cella = z.split(',')
    temperatura = cella[int(9)]
    umidita = cella[int(8)]

    giorno = cella[int(2)]
    ora = cella[int(2)]

    giorno = giorno[1:11]
    ora = ora[12:17]

    parametri= {'temp': temperatura, 'hum': umidita}
    def chiedi():
        nome_parametro = input('inserisci il nome del parametro che vuoi visualizzare: ')
        print(params[nome_parametro]) if nome_parametro in params.keys() else print("%s non c'è" % nome_parametro)

    if (count != 1) and (params != ""):
        data_grafico = datetime.strptime(giorno + ' ' + ora, "%Y-%m-%d %H:%M")
        print(data_grafico)
        chiedi()
        y.append(float(params))
        x.append(data_grafico)


In questo caso, ho un'errore perchè  giustamente

y.append(float(params))


gli passo una directory e vorrebbe una stringa o un numero.

Di nuovo grazie :)

Offline nuzzopippo

  • python neanderthalensis
  • ****
  • Post: 352
  • Punti reputazione: 0
    • Mostra profilo
Re:Esercizio in Python
« Risposta #3 il: Gennaio 19, 2021, 20:24 »
Vedo che il "problema" non è cambiato, malgrado il tempo :)

Questo per un esempio. Grazie mille.
Invece se dovessi prendere i parametri che sono all'interno di un file .csv, con una serie di valori.
Del tipo: ...
...
gli passo una directory e vorrebbe una stringa o un numero.

@Valentina, se nel contesto operativo devi passare un "numero" o una "stringa" devi passare un numero oppure una stringa oppure nulla, non c'è alternativa.
L'utilizzo di files CSV prevede un sistema di dati costante e ben preciso, la definizione prevederebbe che la prima riga contenga i nomi dei campi (le Tue "chiavi" in sostanza) altrimenti non si è in presenza di un file CSV ma di qualcos'altro, un banale e generico file di testo, probabilmente.

Per altro, fai ben attenzione all'algoritmo che implementi, definire una funzione all'interno di un ciclo for non è un'idea grandiosa, tanto meno, di solito, si esegue un input utente in un ciclo di lettura dati da file, sono processi che è bene tenere separati per evitare pastrocchi e confusione.

Per stendere un qualsiasi codice bisogna conoscere esattamente :
  • il contesto operativo;
  • la strutturazione della fonte dati;
  • il prodotto finale da ottenere.
Oltre, naturalmente, lo strumento che si vuole utilizzare.

Per non procedere a tentoni, proponi una simulazione dei dati da trattare conforme alla reale struttura da affrontare e spiega ampiamente e chiaramente cosa si deve ottenere, così ci si potrà ragionar su, se posso, nei miei limiti, Ti aiuterò ma è necessario avere le idee chiare per poterlo fare