Bom guys… Atualmente estou trabalhando em um projeto, onde em uma das funções o script tem que escrever um determinado código que foi gerado a partir de parâmetros escolhidos pelo usuário, porem apos ter gerado tal codigo e adicionado o mesmo ao arquivo alvo, notei que sempre da algum erro na identacao. Para fazer o mesmo funcionar tenho que ir ao editor e re-tabular todas as linha, mesmo que a tabulação esteja correta, ja tentei trocar de editor e ate mesmo usar o do próprio python, porem o mesmo erro retorna.
Segue código para gerar:
def criarHabilidade(self, nome, classe, valorMinimoParaAcertar, danoMinimo, danoMaximo): habilidadesCriadas[nome] = classe habilidade = ''' def {0}(self, dado, alvo = "sem", estadoDoJogador = "normal"): dano = 0 if estadoDoJogador == "normal": if dano >= {1}: dano = random.randint({2}, {3}) else: dano = 0 return "Errou" if alvo != "sem": resultado = alvo.levarDano(dano) if resultado == "Morreu": return alvo.nome+": Morre!" else: return alvo.nome+": -"+str(dano)+" vida. Vida atual: "+str(alvo.vida) else: return dano else: return "Impossivel atacar! Jogador morto ou sob efeito de algo..." '''.format(nome, valorMinimoParaAcertar, danoMinimo, danoMaximo)
Segue codigo resultante:
#Habilidades criadas 007689 def oi(self, dado, alvo = "sem", estadoDoJogador = "normal"): dano = 0 if estadoDoJogador == "normal": if dano >= 1: dano = random.randint(1, 1) else: dano = 0 return "Errou" if alvo != "sem": resultado = alvo.levarDano(dano) if resultado == "Morreu": return alvo.nome+": Morre!" else: return alvo.nome+": -"+str(dano)+" vida. Vida atual: "+str(alvo.vida) else: return dano else: return "Impossivel atacar! Jogador morto ou sob efeito de algo..."
OBS: Estou usando orientação a objetos, e segundo os editores o codigo esta identado certo, porem sempre tenho que realizar o procedimento que já comentei.