2
I have been investigating for hours why this mistake. I have used the global
and it didn’t work and other programs I created worked. Code that gives error:
def editor():
texto = raw_input("digite o texto que quer que o menu principal imprima:")
if texto == str():
print "%s" %(texto)
else:
print "%s" %(texto)
def arranque():
print "%s" %(texto)
maquina = raw_input("")
if machine == "B".upper():
print "A iniciar a BIOS..."
for i in range(1000):
print "..."
arranque()
Complete code:
#============<<<código de carregamento de dados>>>============#
def ler(): #
with open('maquina virtual 1ªversão.txt', 'r') as f: #
linhas = f.readlines() #
return linhas #
f.close() #
#
if __name__ == "__main__": #
dados = ler() #
#============<<<código de carregamento de dados>>>============#
def editor():
texto = raw_input("digite o texto que quer que o menu principal imprima:")
if texto == str():
print "%s" %(texto)
else:
print "%s" %(texto)
#============<<<código de salvação de dados>>>============#
def guardarAlteracao(dado): #
with open('maquina virtual 1ªversão.txt', 'r+') as f: #
f.write(dado) #
f.close() #
#============<<<código de salvação de dados>>>============#
#função que inicia a máquina virtual (função que coopera com a função bios()-> se esta tiver sido indevidamente alterada pelo usuário, esta impede o arranque do SO):
def arranque():
print "%s" %(texto)
maquina = raw_input("")
if machine == "B".upper():
print "A iniciar a BIOS..."
for i in range(1000):
print "..."
arranque()
#função principal(1ª)--> bios:
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(secção ainda a concluir), 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()
save = raw_input("Guardar alterações?")
if save == "sim" or save == "si" or save == "s".lower():
guardarAlteracao('Alguma coisa aqui')
rebobinar = raw_input("")
if rebobinar == "back":
bios()
elif alterar == "Apresentar código de arranque":
#código ainda não concluído
if rebobinar == "back":
bios()
elif alterar == "Editar código":
#código ainda não concluído
quit()
elif avanced == "Desinstalar SO":
deletar_so = raw_input("Tem mesmo a certeza (atenção: depois não pode restaurar e pode perder dados)?)")
if deletar_so == "sim" or deletar_so == "yes":
for i in range(1234):
print "A desinstalar o SO..."
#função bitsky_one--> deletar
print "SO desinstalado."
elif avanced == "Criar permissões especiais para a VM":
password()
bios()
Error:
Traceback (most recent call last):
File "C:\Documents and Settings\Cristina\Ambiente de trabalho\maquina virtual 1ªversão.py", line 36, in <module>
arranque()
File "C:\Documents and Settings\Cristina\Ambiente de trabalho\maquina virtual 1ªversão.py", line 28, in arranque
print "%s" %(texto)
NameError: global name 'texto' is not defined
It worked, but it prints the text variable. How do I not print the text variable?
– Henrique
I did, but I discovered another problem (about how to edit the text that is at the beginning).
– Henrique