我需要生成一个给定字符串的所有可能的二进制表示形式,其中一些字符是“?”而其他字符是1或0。
我试图进行递归搜索,但遇到了一些奇怪的问题,我无法解决。
对于输入的 ?01?1,我应该得到以下输出: 00101、00111、10101 和 10111, 但是我却只得到了 10111、10101 和 00101。此外,anslist 没有正常工作。我似乎无法弄清楚这个问题所在。
我试图进行递归搜索,但遇到了一些奇怪的问题,我无法解决。
userInput = list(input())
anslist = []
def fill(inp):
#print(inp)
if inp.count("?") == 0:
print(inp, "WAS ADDED")
anslist.append(inp)
return
for a in range(0, len(userInput)):
if inp[a] == "?":
inp[a] = 1
fill(inp)
inp[a] = 0
fill(inp)
return
print(anslist)
对于输入的 ?01?1,我应该得到以下输出: 00101、00111、10101 和 10111, 但是我却只得到了 10111、10101 和 00101。此外,anslist 没有正常工作。我似乎无法弄清楚这个问题所在。