使用递归生成格雷码的 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 官宣新年祝福语简短