J'ai récemment commencé à apprendre Python et j'ai rencontré une erreur avec les classes et le "self" n'étant pas défini. Je sais qu'il y a beaucoup de questions sur ce problème, mais je n'ai pas pu trouver le problème avec mon code basé sur ces réponses.Erreur Python - "self" n'est pas défini
import random
class Encrypt():
def __init__(self, master):
self.master = master
master.title("Encryption using RSA Algorithms")
x = input("Do you want to Encrypt or Decrypt?")
if x=="Encrypt":
print("Redirecting...")
else:
print("Redirecting...")
choice_1 = "Encrypt"
choice_2 = "Decrypt"
if x==choice_1:
y = input("Do you have a public key?")
if y=="Yes":
print("Redirecting...")
else:
print("Generating a key...")
print(self.publickey_generate()) #Error here that self is not defined
else:
z = input("What is your private key?")
def publickey_generate(self):
for output in range (0,1000):
public = random.randint(0, 1000)
if public <= 500:
public += public
else:
public = public - 1
C'est le code que je fais, c'est un logiciel de cryptage et de décryptage. L'erreur (marqué par un commentaire) est
line 23, in Encrypt
print(self.publickey_generate(). NameError: name 'self' is not defined
Je ne sais pas pourquoi cela se passe. Toutes les entrées sont appréciées.
changement 'Encrypt (classe)' à 'classe Encrypt (objet): '? – mguijarr
Votre indentation doit être corrigée – Wondercricket
Il semble que le code ne soit pas indenté correctement sous la méthode '' __init__'' – jakevdp