【发布时间】:2013-11-01 17:50:38
【问题描述】:
到目前为止,我有一个创建格雷码的函数,然后我需要创建一个返回格雷码“加一”的函数,基本上是按顺序返回的下一个。所以如果 D = (0,0,1,1) 我需要返回 (0,0,1,0)
我有
def gray(x):
if x:
return ['0' + x[0]] + gray(x[1:]) + ['1' + x[0]]
else:
return []
def graycode(n):
if n:
return gray(graycode(n-1))
else:
return ['']
最后,
def GrayFinal(D):
z = ''.join(map(str,D))
str(z)
if z in graycode(len(D)):
return graycode(len(D))[z+1]
else:
return ['']
我不知道如何返回 Zth+1 条目
【问题讨论】:
-
可能是一个确保您的缩进在帖子中正确表示的想法......它在复制/粘贴时无法很好地保存......
-
是的,我注意到了,感谢您的修复!
-
你的意思是“如何将灰度代码增加 1”?
-
我在 Google 上找到了这个。这对你有用吗? barricane.com/python-grey-code-algorithm.html
-
是的,前两个函数我只是试图获得所需的 n 位,然后是我想要返回下一个格雷码增量的最后一个函数。所以 GrayFinal((0,0,1,1)) 我想返回 (0,0,1,0)。
标签: python string python-2.7 indexing