Python列表对象属性“append”是只读的

2024-05-20 13:43:51 发布

您现在位置:Python中文网/ 问答频道 /正文

正如标题所说,在python中,当有人输入一个选项(在本例中是Choice13)时,它会从列表密码中删除旧密码并添加新密码。

passwords = ['mrjoebblock' , 'mrjoefblock' , 'mrjoegblock', 'mrmjoeadmin' ]
if choice == '3':
    password = raw_input('Welcome admin! I\'m going to need your password ')
        if password == 'mrjoeadmin':
            print('Welcome Mr. Joe!')
            Choice11 = raw_input('What would you like to do? Press 1 for changing your admin password, 2 for viewing a class\'s comments, or 3 for changing a class\'s password')
            if Choice11 == '1':
                print('You have chosen to change your password! ')
                Choice12 = raw_input('You will need to put in your current password to access this feature ')
                if Choice12 == 'mrmajoeadmin':
                    Choice13 = raw_input('What would you like to change your password to? ')
                    passwords.remove('mrjoeadmin')
                    passwords.append = Choice13

Tags: to密码forinputyourrawifadmin
2条回答

要将某些内容附加到列表中,需要调用append方法:

passwords.append(Choice13)

如您所见,分配给append方法会导致异常,因为您不应该替换内置对象上的方法--(如果您想修改内置类型,支持的方法是通过子类化)。

或者可以通过执行以下操作修改同一列表槽:

passwords[passwords.index('mrjoeadmin')] = Choice13

相关问题 更多 >