就差这个问题解决不了嗷嗷
查看原帖
就差这个问题解决不了嗷嗷
1216518
ErgouTree楼主2024/1/11 09:42

这是我的代码,规律检验过是正确的,但是就是没有办法在输出中把输入的字母填到图案里,球球了

list_s = [str(x) for x in input()]
char = ""

# 原始的温迪框架和彼得潘框架
peter_pan = ["..#..", ".#.#.", "#.{}.#".format(char), ".#.#.", "..#.."]
wen_di = ["..*..", ".*.*.", "*.{}.*".format(char), ".*.*.", "..*.."]

# 彼得潘后加上彼得潘的样式
af_peter_peter_pan = [".#.","#.#",".{}.".format(char),"#.#",".#."]

# 彼得潘后加上温迪框架,直接加上温迪框架(内部为温迪框架)

# 彼得潘框架作为收尾
end_peter = [".#..","#.#.",".{}.#".format(char),"#.#.",".#.."]
# 温迪框架作为收尾
end_wendi = [".*..","*.*.",".{}.*".format(char),"*.*.",".*.."]

#  ..#...#...#..
#  .#.#.#.#.#.#.
#  #.A.#.B.#.D.#
#  .#.#.#.#.#.#.
#  ..#...#...#..
line1 = ""
line2 = ""
line3 = ""
line4 = ""
line5 = ""

for i in range(0,len(list_s)):
    char = list_s[i]
    # 第一个字母直接彼得潘框架起手
    if i + 1 == 1:
        line1 += peter_pan[0]
        line2 += peter_pan[1]
        line3 += peter_pan[2].format(char)
        line4 += peter_pan[3]
        line5 += peter_pan[4]
    elif (i + 1) % 3 == 0:
        line1 += wen_di[0]
        line2 += wen_di[1]
        line3 += wen_di[2].format(char)
        line4 += wen_di[3]
        line5 += wen_di[4]
    # 温迪框架作为收尾
    elif (i + 1) % 3 == 0 and i + 1 ==len(list_s):
        line1 += end_wendi[0]
        line2 += end_wendi[1]
        line3 += end_wendi[2].format(char)
        line4 += end_wendi[3]
        line5 += end_wendi[4]
    elif i == len(list_s):
        line1 += end_peter[0]
        line2 += end_peter[1]
        line3 += end_peter[2].format(char)
        line4 += end_peter[3]
        line5 += end_peter[4]
    # 中间的普通填充用彼得潘框架
    else:
        line1 += af_peter_peter_pan[0]
        line2 += af_peter_peter_pan[1]
        line3 += af_peter_peter_pan[2].format(char)
        line4 += af_peter_peter_pan[3]
        line5 += af_peter_peter_pan[4]

print(line1)
print(line2)
print(line3)
print(line4)
print(line5)

2024/1/11 09:42
加载中...