使用递归生成格雷码的 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 婶婶拜年祝福语大全简短