Ich bin neu in Python und machte ein kurzes Skript, um sie auszuprobieren, dabei stieß ich auf Fehler und ich hatte nie für die besondere Situation zuvor, als ich versuchen uN
als str
durch den Benutzer eingegeben zu definieren, die ich erhalten:"NameError: Name ist nicht definiert" für Benutzereingabe
Traceback (most recent call last):
File "/home/pi/Desktop/Scripts/classTest/classTest1.py", line 14, in <module>
uN = input(str("Username"))
File "<string>", line 1, in <module>
NameError: name 'ben' is not defined
der Code ist wie folgt:
class user:
def __init__(self, usrName, pWord):
self.usrName = usrName
self.pWord = pWord
def createUsrPw(self):
f = open("usrName.txt", "a")
f.write(self.usrName)
f.write(" ")
f.write(self.pWord)
f.write("\n")
f.close()
uN = input(str("Username"))
pW = input(str("Password"))
usr1 = user(uN, pW)
usr1.createUsrPw()
ich die x = input(str())
Syntax viel vor und hatte verwendet haben nie diesen Fehler, und Der Fehler geht zurück auf Zeile 1, also uN = input(str("Username"))
wird immer noch als Teil der Klasse betrachtet?
, wenn ich den Code zu dieser Vereinfachung funktioniert es perfekt:
class user:
def __init__(self, usrName, pWord):
self.usrName = usrName
self.pWord = pWord
def createUsrPw(self):
f = open("usrName.txt", "a")
f.write(usrName)
f.write(" ")
f.write(pWord)
f.write("\n")
f.close()
usr1 = user("Ben", "testPw")
usr1.createUsrPw()
mit der Datei usrName.txt angehängt wird „Ben testPw“ wie beabsichtigt sind.
Dieser Fehler sieht aus wie 'python-2.x' wobei' Eingang() '' funktioniert wie eval() '. Bist du sicher, dass es Python 3 ist? – Lafexlos
Sie verwenden nicht Python 3, Sie verwenden Python 2 hier. Überprüfe deinen Dolmetscher. –
auch warum brauchst du 'input (str())' gibt bereits eine string zurück, wenn das deine intention war – danidee