关于python的一个问题,求解答

问题遇到的现象和发生背景

Banner是表示广告文本的class,有以下member。
在4-1中完成Banner的class。
在4-2中创建两个Banner的class的实例,并确保4-3的输出是【运行结果】。
实例变量
body:用于广告文本的主体
初始化函数
通过参数初始化body的值
side()
调用时只取一个参数
返回的参数字符串是包围body左右两边的字符串
box()
调用时没有参数
返回在body周围被线条包围的字符串(见运行结果)。

问题相关代码,请勿粘贴截图

# 4-1

# 4-2

# 4-3
print(b1.side('|'))

print() # 一个段落

print(b2.side('#####'))

print() # 一个段落

print(b1.box())

print() # 一个段落

print(b2.box())
运行结果及报错内容
|Tokyo University of Technology|

#####School of Computer Science#####

+------------------------------+
|Tokyo University of Technology|
+------------------------------+

+--------------------------+
|School of Computer Science|
+--------------------------+

以实现如下效果,可以的话请点击采纳答案。

img


# 4-1
class Banner:
    def __init__(self, body):
        self.body = body

    def side(self, ch):
        return "%s%s%s" % (ch, self.body, ch)

    def box(self):
        return "+%s+\n" % ('-' * (len(self.body))) + "|%s|\n" % (self.body) + "+%s+" % ('-' * (len(self.body)))


# 4-2
b1 = Banner("Tokyo University of Technology")
b2 = Banner("School of Computer Science")
# 4-3
print(b1.side('|'))

print()  # 一个段落

print(b2.side('#####'))

print()  # 一个段落

print(b1.box())

print()  # 一个段落

print(b2.box())

题主,你这问题是不是没贴完全

class Banner():
def init(self,body):
self.body=body
def side(self,canshu):
return canshu+self.body+canshu

def box(self):
    zfc=""
    num=len(self.body)
    for i in range(num+1):
        if i==0:
            zfc=zfc+"+"
        else:
            zfc=zfc+"-"
    zfc=zfc+"+\n"
    zfc=zfc+self.side("|")+"\n"
    for i in range(num+1):
        if i==0:
            zfc=zfc+"+"
        else:
            zfc=zfc+"-"
    zfc=zfc+"+"
    return zfc

b1=Banner("Tokyo University of Technology")
print(b1.side("|"))
b2=Banner("Tokyo University of Technology")
print(b2.box())

img

img


这个是截图,望采纳,谢谢了