提问者:小点点

为什么这个代码显示内存错误?可能是while循环有问题


这段代码是要查找字符串的子集,该子集具有唯一的字符。 使k部分字符串和t,然后打印这些部分,同时不包括在字符串中的相同字符

    def merge_the_tools(string, k):
        l = len(string)
        start = 0
        t = []
        ans = []
        while True:
            put=''

            for i in range(start,start+k):
                put += string[i]

            start = k
            t.append(put)
            if start + k == l:
                break

        for i in t:
            ss = set(i)
            s = ''
            for j in ss:
                s += j 

            ans.append(s)
            for i  in s:
                print(I)
   merge_the_tools('AABBAACC',2)

我觉得while循环有问题,我找不到。


共1个答案

匿名用户

你的需要是不清楚的,我将回应与我的理解你的代码。

你需要改变你的start或k的值,因为在这里你会被start=2和k=2困住。

改变线路

Start = k

start += k

它应该工作并且停止运行无限长的时间。