Oslo Oslo 2023-07-27 16:48 采纳率: 50%
浏览 6
已结题

python 为什么一直报错啊

为什么这一直报错啊 python

class Person:
    def __init__(self, name, height, weight):
        self.name = name
        self.height = height
        self.weight = weight

    def say_name(self):
        print("我的名字叫" + self.name)

    def say_weight(self):
        print("我" + self.weight)


person1 = Person("老张", 170, 100)
person2 = Person("James", 160, 80)

person1.say_name()
person2.say_weight()

  • 写回答

4条回答 默认 最新

  • 九分热度一滴汗水 2023-07-27 17:10
    关注

    在给出的代码中,Person类的定义和实例化看起来是正确的,但是在调用person2.say_weight()方法时会报错。错误出现在say_weight方法的print语句中,您缺少了字符串连接的操作符。

    要修复这个问题,您需要在say_weight方法中添加一个字符串连接操作符,将字符串连接起来。下面是修改后的代码:

    class Person:
        def __init__(self, name, height, weight):
            self.name = name
            self.height = height
            self.weight = weight
     
        def say_name(self):
            print("我的名字叫" + self.name)
     
        def say_weight(self):
            print("我体重" + str(self.weight) + "公斤")
            # 或者使用 f-string 格式化字符串
            # print(f"我体重{self.weight}公斤")
     
     
    person1 = Person("老张", 170, 100)
    person2 = Person("James", 160, 80)
     
    person1.say_name()
    person2.say_weight()
    

    现在,say_weight方法中的字符串连接问题得到了修复,代码应该能够正常运行,输出正确的结果。记得在say_weight方法中,我们需要将self.weight转换为字符串,因为print函数只能打印字符串。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 8月5日
  • 已采纳回答 7月28日
  • 创建了问题 7月27日