저는이 은행 데이터베이스 시스템에서 작업 중입니다. 이제 문제가 발생하고 있습니다. 목록에 속성이 없다고 생각하는 이유를 이해할 수 없습니다 username
.
다음은 오류 코드입니다.
'list' object has no attribute 'username'
내 코드 :
list = []
class Bank():
#did everything here
class User(Bank):
#did everything here
#already gathered all the variables
list.append(User(company, code, name, balance, username, password))
while True:
login = input("Username: ")
if login in list.username:
index = list.username.index(login)
break
else:
print("There is no such username!")
표시되는 오류는 list
객체에라는 속성이 없다는 것 username
입니다. 목록에 사용자를 추가 할 때 list
개체 와 관련된 속성을 변경하는 것이 아니라 단순히 목록에 요소를 추가하는 것입니다. list
객체 의 일부 속성 목록을 보려면 명령을 사용할 수 있습니다 dir(list)
. 당신은 그 볼 append
클래스의 열거 된 방법 중 하나이며, 당신은 당신의 목록에 추가 항목이를 사용하고 있습니다.
내가 생각할 수있는 두 가지 잠재적 인 해결책이 있습니다. 하나는 목록 대신 사전을 사용하는 것입니다. 여기에서 사용자 이름을 키로 사용하고 실제 사용자를 값으로 사용합니다. 이것은 다음과 같이 보일 것입니다.
users = dict()
class Bank():
#did everything here
class User(Bank):
#did everything here
#already gathered all the variables
users[username] = User(company, code, name, balance, username, password)
while True:
login = input("Username: ")
if username in users:
# do whatever you would like to do
break
else:
print("There is no such username!")
정말로 색인을 갖고 싶다면 사용자 목록을 만든 다음 목록의 사용자 이름을 통해 사용자 색인을 검색 할 수도 있습니다.
users = []
usernames = []
users.append(User(company, code, name, balance, username, password))
usernames.append(username)
while True:
login = input("Username: ")
if username in usernames:
index = usernames.index(username)
break
else:
print("There is no such username!")
다시 말하지만, 사용자 목록과 사용자 이름에서 목록에있는 해당 사용자의 색인으로 매핑되는 사전을 유지하여 해결할 수도 있습니다.
users = []
usernames = dict()
users.append(User(company, code, name, balance, username, password))
usernames[username] = len(users) - 1
while True:
login = input("Username: ")
if username in usernames:
index = usernames[username]
break
else:
print("There is no such username!")
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다