I’m having trouble calling a python function

Asked

Viewed 955 times

2

Hi. Here’s my problem:

def arranque():
machine = raw_input("Bem vindo à màquina virtual(VM). Prima ENTER para iniciar o SO ou prima B para entrar no menu da BIOS.")
if machine == "B".upper():
    print "A iniciar a BIOS..." 
for i in range(1000):
    print "..."
arranque()
# else:
    #storm()

def bios(): 
    print "------------------ \n" 
    print "BIOS setup utility \n"
    print "------------------"
    opcao =raw_input("Está no menu da BIOS. Escolha o que pretende aceder: Informações do sistema, Data, Avançadas, Configurações do SO (escreva quit para voltar ao menu e back se quiser voltar ao menu principal da BIOS) \n")
    if opcao == "Informações do sistema":
        print "--------------" 
        print "Maquina virtual"
        print "--------------" 
        print "Versão: 1.0v 32bit \n Data da criação: 07/06/14 \n Compatível com Windows XP, Windows Vista, Windows 7, Windows 8, Unix, Linux, Ubuntu e Mac OS"
        print "Todos os direitos reservados © 2014"
        rebobinar = raw_input("")
        if rebobinar == "back":
            bios()
    elif opcao == "Data":
        print "--------------"
        print "Data"
        print "--------------"
        print "Sistema Operativo(simulado): BITsky one® \nInterface: Literal (e GUI nas próximas atualizações) \nLinguagem de programação predefinida: Python"
        import win32api
        path = "C:/"
        info = win32api.GetVolumeInformation(path)
        print( "Número da série do disco rígido: = %d" % info[1] )
        rebobinar = raw_input("")
        if rebobinar == "back":
            bios()
    elif opcao == "Avançadas":
        print "--------------"
        print "Avançadas"
        print "--------------"
        configurar = raw_input("Para configurar as defenições da máquina virtual, escreva a password bitwise para aceder: \n")
        if configurar == "0b10b100b110b100":
            print "As opções disponíveis são: \nAlterar a forma de inicialização, \nDesinstalar SO, \nCriar permissões especiais para a VM, \nVer código fonte da VM"
            avanced = raw_input("")
            if avanced == "Alterar a forma de inicialização":
                alterar = raw_input("O que deseja alterar: \nApresentação inicial da VM, \nApresentar código de arranque, \nEditar código(aviso: qualquer alteração incorreta destes pode instabilizar a VM)?")     
                if alterar == "Apresentação inicial da VM":
                    editor()

bios()


#funções auxiliares da opção editar texto:
#função 1 -> ligada á função externa bios(): 
def editor():
    global texto
    texto = raw_input("digite o texto que quer que o menu principal imprima:")
 editor()

And this mistake comes to me:

Traceback (Most recent call last): File "C: Documents and Settings Cristina Desktop virtual machine 1st version.py", line 50, in bios() File "C: Documents and Settings Cristina Desktop virtual machine 1st version.py", line 48, in bios editor() Nameerror: global name 'editor' is not defined

Where is the error?

  • Not the editor indentation()?

1 answer

2


Its function editor was set after the call from bios. Try to define it before bios, since this function uses editor.

  • 1

    Looks like it worked. Thank you. ;)

Browser other questions tagged

You are not signed in. Login or sign up in order to post.