Gray-rank算法在python中的实现
如何在python中实现以下算法: ()Gray-rank算法在python中的实现,python,algorithm,gray-code,Python,Algorithm,Gray Code,如何在python中实现以下算法: () 您可以在操作符中使用: if (n - i) in t: 或者干脆 if n - i in t: 此外,操作员^不会按照您的想法操作。要获得数字的幂,请使用**: r += 2**i 注意: 中的操作符将处理元组、列表、dict和字符串 编辑: 由于t是一个字符串,要检查t是否包含整数(n-i),必须将整数n-i转换为字符串: if str(n - i) in `t`: # ... 假设t是dict或列表 if (n - i) in
您可以在操作符中使用
:
if (n - i) in t:
或者干脆
if n - i in t:
此外,操作员^
不会按照您的想法操作。要获得数字的幂,请使用**
:
r += 2**i
注意:
中的操作符将处理元组、列表、dict和字符串
编辑:
由于t
是一个字符串,要检查t
是否包含整数(n-i
),必须将整数n-i
转换为字符串:
if str(n - i) in `t`:
# ...
假设t
是dict
或列表
if (n - i) in t:
假设t
是一个dict
或list
,这应该可以用。当我试图运行:print getGraycodeRank(4,101)时,我得到:if(n-I)in t:#如何检查它?TypeError:“in”需要字符串作为左操作数,而不是int@Fosn
和t
的类型是什么?@Fos您必须将整数4
转换为字符串:n=str(n)
我不明白。现在我得到了错误:对于反转的I(范围(0,n)):TypeError:range()应该是整数结束参数,得到了str。
if (n - i) in t: