• 5个困难的Python谜题


    5个困难的Python谜题,没有多少人能够解决 我挑战你,证明我是错的

    这里有一个挑战--尝试解决以下5个Python编程谜题,而不需要在谷歌上寻找答案。

    1. 魔术方块 魔术方格是一个包含数字1到9的3x3网格。每3个连续的数字(行、列或对角线)必须加起来是15下面是一个有效的魔方
    [ [2, 7, 6],
       [9, 5, 1],
       [4, 3, 8] ]
    • 1

    在这个谜题中,你得到的是一个不完整的魔方

    [ [2, 0, 0],
       [0, 0, 0],
       [0, 3, 8] ]
    • 1

    魔术方格是不应该有0的。在这里,0意味着你需要用1到9之间的数字来填充它。

    1到9之间的每个数字只能出现一次 每一行、每一列和每一条对角线上的3个数字加起来都必须是15。

    def solve(incomplete_square):
        # 这里的代码
        square = [  
            [2, 0, 0],
            [0, 0, 0],
            [0, 3, 8]
                    ]
    • 1
    solve(square)
    # [ [2, 7, 6],
    # [9, 5, 1],
    # [4, 3, 8] ]
    • 1
    1. 给一个混乱的字典加上大写字母

    你会得到一个混乱的、有多个非结构化嵌套层的搞砸了的字典。例如。


    d = {
        "a": {"b""c"},
        "d": {
            "e""f",
            "g": {
                "h""i",
                "j""k",
                "l""m"
            },
            "n": {
                "o": {
                    "p": {
                        "q": {"r""s"}
                    }
                }
            }
        }
    }
    • 1

    写一个函数,接收这个搞砸了的字典,并返回这个字典的COPY,其中所有的键和值都被转换为大写字母。


    d = {
        "A": {"B""C"},
        "D": {
            "E""F",
            "G": {
                "H""I",
                "J""K",
                "L""M"
            },
            "N": {
                "O": {
                    "P": {
                        "Q": {"R""S"}
                    }
                }
            }
        }
    }
    • 1
    1. 字典来自字符串

    给你一个字符串,代表一个字典。

    string = '{"name": "rocky", "age":5, "imported":True}'
    • 1

    假设键值对很简单,而且没有嵌套的列表、字典和其他集合。值将只是数字(int/float)、字符串或布尔值。

    在不使用json库、exec或eval函数或任何其他内置解析器的情况下,编写一个函数,接收这个字符串,并返回一个由该字符串表示的实际字典。

    1. 迷宫中的最短路径 给你一个代表迷宫的字符串列表。
    maze = [
        "P#----",
        "-#-##-",
        "------",
        "-#-##-",
        "-#-#--",
        "---#-X",]
    • 1

    P代表玩家

    - 代表一个空位。玩家可以站在空位上
    # 代表一堵墙。玩家不能站在墙壁上
    • 1

    X代表目标。如果玩家到达目标,则获胜。

    编写一个函数,接收这个迷宫,并返回从玩家到目标的最短路径。玩家每次只能移动一步,而且只能从四个方向移动--向上、向下、向左和向右。该函数返回的一个样本。

    ["下""下""右""右""右""下""下""下"
    • 1
    1. 混乱的字典到混乱的列表

    再一次,你得到了一个混乱的、有多层嵌套的搞砸了的字典。


    d = {
        "a""b",
        "c""d",
        "e": {
            "f""g",
            "h""i"
        },
        "j": {
            "k": {
                "l": {"m""n"}
            }
        }
    }
    • 1

    写一个函数,将里面的每一个嵌套的 dictionary 转换为一个 list。一个输出的例子。

    d = [
        ["a""b"],
        ["c""d"],
        ["e", [
            ["f""g"],
            ["h""i"]
        ]],
        ["j", [
            "k", [
                "l", ["m""n"] 。
            ]
        ]]
    ]
    • 1

    结论

    你设法解决了多少个问题?你花了多长时间?

    本文由 mdnice 多平台发布

  • 相关阅读:
    Kotlin 操作集合的高阶函数
    小谈设计模式(1)—总序
    code编译时报错undefined reference to ...
    k8s晋级之管理容器的计算资源
    欧美市场独立站选品技巧
    【Redis】Redis内存模型
    解决grpc连接问题Dial成功但状态变为TransientFailure
    pytorch笔记:TRIPLETMARGINLOSS
    R语言ggplot2可视化:gganimate包创建动态柱状图动画(gif)、使用transition_states函数在动画中沿给定维度逐步显示柱状图
    黑马点评--达人探店
  • 原文地址:https://blog.csdn.net/qq_40523298/article/details/127651046