使用递归生成格雷码的 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范围内迭代。
左移运算符用于迭代器并与数字进行比较。
在方法外,通过传递相关参数来调用。
输出显示在控制台上。
热门推荐
10 香港老妈结婚祝福语简短
11 毕业立体贺卡祝福语简短
12 简短新年年会祝福语
13 评论小品祝福语大全简短
14 恭喜师兄结婚祝福语简短
15 员工集体辞职祝福语简短
16 高中新生祝福语 简短
17 装修祝福语男生搞笑简短
18 生日开业蛋糕祝福语简短