我有一个称为帐户的课程在该课程中,有一个名为密码的列表
当我尝试在for循环中访问该列表时,它将返回一个列表,其中包含来自两个对象的项,而不仅仅是一个对象
例如
p1 = account('username','password',[['123','youtube'],['124','reddit']])
p2 = account('username1','password1',[['889','youtube'],['999','reddit']])
accounts = [p1,p2]
for i in accounts:
print(i.passwords)
这将打印出来
[['123','youtube'],['124','reddit'],['889','youtube'],['999','reddit']]
[['123','youtube'],['124','reddit'],['889','youtube'],['999','reddit']]
代替
['123','youtube'],['124','reddit']
['889','youtube'],['999','reddit']
仅在此情况下发生,而不是密码或用户名部分
为什么会发生以及如何解决
类代码:
class account:
def __init__(self,username,password,passwords):
self.username = username
self.password = password
self.passwords = passwords
self.logged_on = False
def print_passwords(self):
if self.logged_on == True:
for i in self.passwords:
print(f'Password for {i[1]} is {i[0]}')
else:
return
def add_password(self):
if self.logged_on == True:
website = input('enter website the password is for: ')
newpass = input('enter password: ')
self.passwords.append([newpass,website])
else:
return
我执行了您的代码,这是我的输出: