TypeError: can only concatenate str (not "list") to str(列表和字符串的报错解决方法)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/YJG7D314/article/details/102754884

部分源代码:
在这里插入图片描述
报错:
TypeError: can only concatenate str (not “list”) to str
类型错误:只能连接str(不是“列表”)到str

debug操作:str()类型转换
在这里插入图片描述
在这里插入图片描述
全部源代码:

"""
管理员是一种特殊的用户。编写一个名为Admin 的类,
让它继承你为完成练习9-3或练习9-5而编写的User 类。添加一个名为privileges 的属性,用
于存储一个由字符串(如"可以添加文章" 、"can delete post" 、"可以禁止用户" 等)组成的列表。
编写一个名为show_privileges() 的方法,它显示管理员的权限。创建一个Admin 实例,并调用这个方法
"""


class User:
    """表示一个简单的用户配置文件。"""
    def __init__(self, first_name, last_name, username, email, location):  # location表位置
        """初始化用户"""
        self.first_name = first_name
        self.last_name = last_name
        self.username = username
        self.email = email
        self.location = location
        self.login_attemps = 0

    def describe_user(self):
        """显示用户信息的摘要"""
        print("\n" + self.first_name + " " + self.last_name)
        print("    Username: " + self.username)
        print("    Email: " + self.email)
        print("    Location: " + self.location)

    def greet_user(self):
        """向用户显示个性化的问候"""
        print("\n Welcome back, " + self.username + "!")

    def increment_login_attmpts(self):
        """增加登录尝试的值"""
        pass

    def reset_login_attempts(self):
        """重置登录尝试为0"""
        pass


class Admin(User):
    """具有管理权限的用户。"""

    def __init__(self, first_name, last_name, username, email, location):
        # super()
        """初始化管理。"""
        super().__init__(first_name, last_name, username, email, location)
        self.privileges = []
        # privileges表示权力

    def show_privileges(self):
        """显示此管理员拥有的特权"""
        print("管理员的权力有:" + str(self.privileges))


shi_li = Admin("杨", "钱生",  "Administrator", "[email protected]", "上海")
shi_li.privileges = ["可新建文件","可删除用户","可以禁止用户的权限"]
shi_li.describe_user()
shi_li.show_privileges()

猜你喜欢

转载自blog.csdn.net/YJG7D314/article/details/102754884