Domanda aiuto esercizio classi

Stato
Discussione chiusa ad ulteriori risposte.

examinedcastle

Utente Electrum
5 Luglio 2014
158
36
14
122
Salve ragazzi,
mi scuso inanzitutto se il codice presente dei gravi errori, purtroppo devo studiare approfonditamente vb.net per la scuola e a casa nel tempo libero leggo un libro sulla programmazione android così nell'ultimo periodo ho tralasciato il python.
Ho voluto riprenderlo e mi sono bloccato su un semplice esercizio...praticamente dovrei chiedere in input un nome un url e una descrizione ed aggiungerla all'elenco. Se viene selezionato un indice si dovrebbe aprire il browser con la pagina.
Questo è il codice
Codice:
# programma aiuto

import webbrowser
global vNindici
global indice
indice = []
vNindici = 0

class assistenza():

    def mostraIndici(self, vNindici=0, url="", vDescrizione=""):
        vCiclo = 0
        self.url = url
        self.vDescrizione = vDescrizione
        self.indice = indice
        self.vNindici = vNindici
        if self.vNindici == 0:
            print "nessun indice inserito, assistenza vuota"
        else:
            for i in self.vNindici:
                print vCiclo + "-" + self.indice[0] + "   " + self.url + "   " + self.vDescrizione
                vCiclo+=1
    
    def aggiungi(self, vNparametro="", url="", vDescrizione=""):
        self.vNparametro=vNparametro
        self.url=url
        self.vDescrizione = vDescrizione
        self.indice[vNindici+1] = self.vNparametro + "   " + self.url + "   " + self.vDescrizione 
        vNindici+=1
        
    def mostraIndice(self, nIndice="null"):
        self.nIndice = nIndice
        if self.nIndice == "null":
            Main()
        else:
            self.nIndice = int(self.nIndice)
            print self.indice[self.nIndice] 
         
def Main():
    assistenza.mostraIndici(vNindici)
    vScelta = raw_input("Premi il numero dell'indice che vuoi visualizzare o '+' per aggiungerne uno nuovo-> ")
    if vScelta == "+":
        vNparametro = raw_input("Inserisci il nome del nuovo indice-> ")
        url = raw_input("Inserisci l'url del sito per l'assistenza-> ")
        vDescrizione = raw_input("Inserisci una breve descrizione-> ")
        assistenza.aggiungi(vNparametro, url,vDescrizione)
        Main()
    else:
        assistenza.mostraIndice(vScelta)
        webbrowser(url)
        Main()
        
Main()

e questo l'errore:

Codice:
Traceback (most recent call last):
  File "assistenza.py", line 53, in <module>
    Main()
  File "assistenza.py", line 40, in Main
    assistenza.mostraIndici(vNindici)
TypeError: unbound method mostraIndici() must be called with assistenza instance as first argument (got int instance instead)

Spero possiate aiutarmi
 
Ultima modifica:
ti manca semplicemente la call della classe.
assistenza().mostraIndici(vNindici)


Ad ogni modo lo script è totalmente sbagliato.
Ogni volta crei nuovi oggetti.
 
Stato
Discussione chiusa ad ulteriori risposte.