Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    31

    Esercizi con python

    Ho creato un codice per fare degli esercizi, ma non riesco a capire dov'è l'errore, mi aiutate?
    codice:
    class Tempo:
        pass
    
    OraDecollo = Tempo()
    OraDecollo.Ore = 10
    OraDecollo.Minuti = 10
    
    TempoVolo = Tempo()
    TempoVolo.Ore = 01
    TempoVolo.Minuti = 15
    
    TempoSosta = Tempo()
    TempoSosta.Ore = 00
    TempoSosta.Minuti = 15
    
    def OraArrivo1(A1, A2):
        Somma1 = Tempo()
        Somma1.Ore = A1.Ore + A2.Ore
        Somma1.Minuti = A1.Minuti + A2.Minuti
    
        if Somma1.Minuti >= 60:
           Somma1.Minuti = Somma1.Minuti - 60
           Somma1.Ore = Somma1.Ore +1
            
        return Somma1.Ore, Somma1.Minuti
    
    def OraArrivo2(OrarioArrivo, TempoSosta):
        Somma2 = Tempo()
        Somma2.Ore = OrarioArrivo.Ore + TempoSosta.Ore
        Somma2.Minuti = OrarioArrivo.Minuti + TempoSosta.Minuti
        
        return Somma2.Ore, Somma2.Minuti
                   
    OrarioArrivo = OraArrivo1(OraDecollo, TempoVolo)
    print "L'orario di Arrivo al Primo aeroporto e' previsto alle ore :", (OrarioArrivo)
    
    OrarioArrivo2 = OraArrivo2(OrarioArrivo, TempoSosta)
    print "L'orario di Arrivo al Secondo aeroporto e' previsto alle ore :", (OrarioArrivo2)
    L'errore che visualizzo è:
    codice:
      File "/Users/nuvolare/Python/Elisoccorso.py", line 37, in <module>
        OrarioArrivo2 = OraArrivo2(OrarioArrivo, TempoSosta)
      File "/Users/nuvolare/Python/Elisoccorso.py", line 29, in OraArrivo2
        Somma2.Ore = OrarioArrivo.Ore + TempoSosta.Ore
    AttributeError: 'tuple' object has no attribute 'Ore'
    Ho cercato di prendere il risultato del primo passaggio (A) e poi sommarlo al secondo (B) OraArrivo2, che in teoria dovrebe contenere le seconde operazioni.
    Il motivo di questo esercizio e praticamente scrivere un codice che da un risultato e quel risultato, variarlo aggiungendo altri numeri per più volte.
    Cosa sbaglio? grazie

  2. #2
    ciao,

    OrarioArrivo, TempoSosta e Somma2 sono istanze della classe Tempo, che non ha un attributo di nome "Ore": dovresti specificarlo nella classe.
    qui un po' di approfondimenti sulla gestione delle classi in Python.

    saluti

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    31
    Ho letto il link, ma non ho capito molto bene...
    Ma praticamente dovrei creare piu` calssi per ogni Step?
    Potresti farmi un esempio per capire come andare a riprendere quel parametro?
    Grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    31
    Poi se faccio
    codice:
    def OraArrivo2(OrarioArrivo, TempoSosta):
        Somma2 = Tempo()
        Somma2.Ore = OrarioArrivo.Ore + TempoSosta.Ore
        Somma2.Minuti = OrarioArrivo.Minuti + TempoSosta.Minuti
        
        return Somma2.Ore, Somma2.Minuti
    Se passo questi 2 parametri OrarioArrivo, TempoSosta, quando faccio Somma2.Ore = OrarioArrivo.Ore + TempoSosta.Ore, non dovrebbe andare a prendere appunto i parametri menzionati?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.