使用递归生成格雷码的 Python 程序
当需要借助递归生成格雷码时,定义了一个方法,该方法创建一个空列表并向其附加值 0 和 1。多个“for”循环用于在函数内生成格雷码。
以下是相同的演示 -
示例
import math as mt输出结果def generate_gray_list(my_val):
if (my_val <= 0):
return
my_list = list()
my_list.append("0")
my_list.append("1")
i = 2
j = 0
while(True):
if i >= 1 << my_val:
break
for j in range(i - 1, -1, -1):
my_list.append(my_list[j])
for j in range(i):
my_list[j] = "0" + my_list[j]
for j in range(i, 2 * i):
my_list[j] = "1" + my_list[j]
i = i << 1
for i in range(len(my_list)):
print(my_list[i])
my_num = 3
print("号码是:")
print(my_num)
print("正在调用将格雷码转换为二进制的方法...")
generate_gray_list(my_num)
号码是:3
正在调用将格雷码转换为二进制的方法...
000
001
011
010
110
111
101
100
解释
导入所需的包。
定义了一个方法,它创建一个空列表。
它将 0 和 1 附加到列表中。
多个“for”循环用于在 0 和 2 范围内迭代。
左移运算符用于迭代器并与数字进行比较。
在方法外,通过传递相关参数来调用。
输出显示在控制台上。
以上是 使用递归生成格雷码的 Python 程序 的全部内容, 来源链接: utcz.com/z/358109.html