python汉诺塔代码怎么写

47次阅读
没有评论

共计 471 个字符,预计需要花费 2 分钟才能阅读完成。

以下是一个用 Python 编写的汉诺塔递归算法示例:

def hanoi(n, source, target, auxiliary):
    if n > 0:
        # 将 n-1 个盘子从源柱移动到辅助柱 
        hanoi(n-1, source, auxiliary, target)
        # 将第 n 个盘子从源柱移动到目标柱 
        print(f"Move disk {n} from {source} to {target}")
        # 将 n-1 个盘子从辅助柱移动到目标柱 
        hanoi(n-1, auxiliary, target, source)

# 测试代码 
n = int(input(" 请输入汉诺塔的盘子数:"))
hanoi(n, 'A', 'C', 'B')

在这个示例中,hanoi 函数是一个递归函数,它将 n 个盘子从源柱移动到目标柱,通过辅助柱作为中转。

通过调用 hanoi(n, 'A', 'C', 'B'),我们可以将 n 个盘子从 A 柱移动到 C 柱,B 柱作为辅助柱。输出结果会显示每一步的移动过程。

请注意,在实际使用时,可能需要对输入进行验证和错误处理。

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-13发表,共计471字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)