Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从';倾斜的';返回原始列表_Python_List_Wordsearch - Fatal编程技术网

Python 如何从';倾斜的';返回原始列表

Python 如何从';倾斜的';返回原始列表,python,list,wordsearch,Python,List,Wordsearch,我有一段代码将列表“谜题”从原来的格式转换为: Puzzle = ["FUNCTIONRRIRAI", "RAIOONFRCCPWON", "PTCSNOBEUITOLO", "BNCACIANTOSLIH", "RBYOLILYNREFBT", "HYYNOGESTIBRIY", "AATTSIONCMCENP", "UORTENRRCBFVAU",

我有一段代码将列表“谜题”从原来的格式转换为:

Puzzle = ["FUNCTIONRRIRAI",
          "RAIOONFRCCPWON",
          "PTCSNOBEUITOLO",
          "BNCACIANTOSLIH",
          "RBYOLILYNREFBT",
          "HYYNOGESTIBRIY",
          "AATTSIONCMCENP",
          "UORTENRRCBFVAU",
          "CEBEECVWIERORI",
          "PROCESSORTOPYF",
          "OHCOMPUTERHSOS",
          "YCYPRESREOSMRW",
          "OATHBRMVTHHCTR",
          "PGORWOOUIPSCHP"]
为此:

F
RU
PAN
BTIC
RNCOT
HBCSOI
AYYANNO
UAYOCOFN
COTNLIBRR
PERTOIAECR
ORBTSGLNUCI
YHOEEIEYTIPR
OCCCENOSNOTWA
PAYOECRNTRSOOI
GTPMSVRCIELLN
OHRPSWCMBFIO
RBEUOIBCRBH
WRSTREFEIT
OMRETRVNY
OVEROOAP
UTOHPRU
IHSSYI
PHMOF
SCRS
CTW
HR
P
我需要一种方法,能够改变拼图回到原来的格式,一旦我做了修改,我需要。 以下是旋转拼图的代码:

i = 0
        while i < len(Puzzle) * 2:
            character = ""
            for y in range(0, len(Puzzle)):
                for x in range(0, len(Puzzle[0])):
                    if (y - x) + i == 13:
                        character += Puzzle[x][y]
            if character != "":
                LeftOutPuz.append(character)
            i += 1
i=0
而我
这将适用于您提供的示例


原件=[“FunctionRRIRARAI”,
“RAIOONFRCCPWON”,
“PTCSNOBEUITOLO”,
“BNCACIANTOSLIH”,
“RbyolinRefBT”,
“hyynogestibry”,
“AATTSIONCMCENP”,
“UORTENRRCBFVAU”,
“CEBEECVWIERORI”,
“PROCESSORTOPYF”,
“OHSOS”,
“YCYPRESREOSMRW”,
“OATHBRMVTHHCTR”,
“PGORWOOUUIPSCHP”]
拼图=['F',
"汝",,
"潘",,
“BTIC”,
“RNCOT”,
“HBCSOI”,
“AYYANNO”,
“UAYOCOFN”,
“COTNLIBRR”,
“PERTOIAECR”,
“ORBTSGLNUCI”,
“YHOEIEYTIPR”,
“OCCCENOSNOTWA”,
“PayerCentrsooi”,
“GTPMSVRCIELLN”,
“OHRPSWCMBFIO”,
“RBEUOIBCRBH”,
“WRSTREFEIT”,
“OMRETRVNY”,
“OVEROOAP”,
“UTOHPRU”,
“ihssy”,
“PHMOF”,
“SCRS”,
“CTW”,
“HR”,
“P”]
最大线数=14
解决方案=['']*最大线
减量=0
lineno=-1
对于拼图中的项目:
lineno+=1
索引=行号
如果lineno>=最大行数:
索引=最大线数-1
减量=0
对于项目中的字符:
解决方案[索引-减量]+=char
减量+=1
断言(解决方案==原始)
注意:上述代码使用字符串串联,这本身就很慢,如果性能有问题,请改用

我的算法本质上是用于生成谜题的算法的反向版本。这就是它的工作原理,如果您感兴趣->

我将
拼图
列表索引称为
行号
(s)

  • 遍历列表和列表中的字符串,每当列表中的项目用尽时,行号就会递增

  • 每个项目的第一个字符应与行号(从0开始)位于同一索引中

    例如,在第2行(实际上是1,从0开始),第一个字符是
    R
    ,这应该在列表的
    1st
    索引(从0开始)中

  • 第二个字符将位于上一个索引中

    例如,在第2行(实际上是1,从0开始),第2个字符是
    U
    ,这应该在列表的
    0th
    索引中

  • 对于下一个角色,我们将再次降低一个索引,以此类推

  • 执行此操作,直到行号大于或等于原始列表的长度(或者是拼图列表中最长项目的长度),在这种情况下为
    14

  • 一旦
    行号>=14
    索引
    不再递增,应保持在最大索引,在本例中为13。其他一切都将保持不变

最后,您应该拥有原始列表


编辑以符合OP的确切需要。

我如何编辑此文件,以便不需要文本文件,只需输入拼图=[“F”、“RU”、“PAN”…]@charlies再次检查答案