为什么这段代码用于获取一个字符串的所有子字符串不起作用(Python)?

2024-09-26 22:13:12 发布

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

我使用的是面向对象的。单独做时,它给出了正确的答案,但在类中,它给出了ideone.com上的运行时错误。为什么会这样?我做错什么了

class abc:
        def _init_(self):
            self.s=""
            subs=[]
        def draw(self):
            self.s=raw_input()
            for i in range(0,len(self.s)+1):
                for j in range(i+1,len(self.s)+1):
                    subs.append(self.s[i:j])
        def printt(self):
            for each in subs:
                print each
k=abc()
k.draw()
k.printt()

Tags: 答案inselfcomforlendefrange
1条回答
网友
1楼 · 发布于 2024-09-26 22:13:12

您需要更改__init__的这一行(注意__init__两边有两个_,而不是只有一个)

def __init__(self):
    self.s = ""
    self.subs = []  # needed self

那么在draw中,这一行应该是

self.subs.append(self.s[i:j])

printt中也是这样

def printt(self):
    for each in self.subs:
        print each

相关问题 更多 >

    热门问题