Ben python için yeni ve bunları denemek için kısa bir betik yaptım, ben de bunu yaparken karşılaştım ve daha önce belirli bir durum için hiç hata yapmadım hata kullanıcı tarafından girilen bir str
olarak uN
tanımlamak deneyin alıyorum şu şekildedir:"NameError: name tanımlı değil" kullanıcı girişi için
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
kodudur: Ben daha önce çok x = input(str())
sözdizimi kullanılır ve bu hatayı yoktu
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()
ve hata, 1. satıra geri dönüyor, yani uN = input(str("Username"))
hala sınıfın bir parçası olarak kabul ediliyor? Bunun için kod basitleştirmek zaman
mükemmel çalışır:
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()
usrName.txt amaçlandığı gibi "Ben testPw" içerecek şekilde ekleniyor dosyasıyla.
Bu hata 'girişi()' eval 'gibi çalışır' piton-2.x'() 'gibi görünüyor. Python 3 olduğundan emin misin? – Lafexlos
Python 3'ü kullanmıyorsunuz, burada Python 2'yi kullanıyorsunuz. Tercümanını kontrol et. –
da niçin 'input (str())' girdisi zaten bir dizge döndürür, eğer bu sizin niyetinizse – danidee