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
索引(从0开始)中1st
- 第二个字符将位于上一个索引中
例如,在第2行(实际上是1,从0开始),第2个字符是
,这应该在列表的U
索引中0th
- 对于下一个角色,我们将再次降低一个索引,以此类推
- 执行此操作,直到行号大于或等于原始列表的长度(或者是拼图列表中最长项目的长度),在这种情况下为
14
- 一旦
,行号>=14
不再递增,应保持在最大索引,在本例中为13。其他一切都将保持不变索引
编辑以符合OP的确切需要。我如何编辑此文件,以便不需要文本文件,只需输入拼图=[“F”、“RU”、“PAN”…]@charlies再次检查答案