【问题标题】:Printing a variable with \n使用 \\n 打印变量
【发布时间】:2022-11-22 03:34:07
【问题描述】:

所以我正在为我大学的 Python 课程做作业,我正在尝试打印一个形状(A*、B* 和 C* 是变量,如果需要我会发布完整的代码)

A1 = None
A2 = None
A3 = None
B1 = None
B2 = None
B3 = None
C1 = None
C2 = None
C3 = None
if not A1:
    A1 = " "
if not A2:
    A2 = " "
if not A3:
    A3 = " "
if not B1:
    B1 = " "
if not B2:
    B2 = " "
if not B3:
    B3 = " "
if not C1:
    C1 = " "
if not C2:
    C2 = " "
if not C3:
    C3 = " "
print("  1   2   3 "
      "\nA" + A1 + " ---" + A2 + "---" + A3,
      "\n  |\  |  /|"
      "\n  | \ | / |"
      "\n  |  \|/  |"
      "\nB " + B1 + "---" + B2 + "---" + B3,
      "\n  |  /|\  |"
      "\n  | / | \ |"
      "\n  |/  |  \|"
      "\nG " + C1 + "---" + C2 + "---" + C3)

将上一个命令的内容插入变量的正确语法是什么?我尝试将它复制并粘贴到一个名为 box 的变量中,但 \n 被检测为字符而不是换行符

【问题讨论】:

  • 请发布完整代码。我们需要检查预期的输入和输出:stackoverflow.com/help/minimal-reproducible-example
  • 我编辑了问题以包含完整代码。我还看到我输入了 input 而不是 print
  • A1 = None 几乎立即被 if not A1: A1 = " " 跟随有什么意义?这 3 行相当于 A1 = " "
  • 用 box = 替换 print 结果 (' 1 2 3 \nA --- --- ', '\n |\\ | /|\n | \\ | / |\n | \\|/ |\nB --- --- ', '\n | /|\\ |\n | / | \\ |\n |/ | \\|\nG --- --- ')

标签: python


【解决方案1】:

最简单的方法是使用 f 字符串替换变量,并使用三重引号允许字符串中的换行符。

variable = f"""  1   2   3 
A{A1} ---{A2}---{A3}
  |  |  /|
  |  | / |
  |  |/  |
B {B1}---{B2}---{B3}
  |  /|  |
  | / |  |
  |/  |  |
G {C1}---{C2}---{C3}"""
print(variable)

【讨论】:

    【解决方案2】:

    只需将 print 语句中的逗号替换为 +,以便将所有字符串连接在一起(而不是形成一个元组):

    box = ("  1   2   3 "
          "
    A" + A1 + " ---" + A2 + "---" + A3 +
          "
      |  |  /|"
          "
      |  | / |"
          "
      |  |/  |"
          "
    B " + B1 + "---" + B2 + "---" + B3 +
          "
      |  /|  |"
          "
      | / |  |"
          "
      |/  |  |"
          "
    G " + C1 + "---" + C2 + "---" + C3)
    
    print(box)
    

    【讨论】:

    • 这最适合我。非常感谢!超过时限会标记为答案!
    【解决方案3】:

    当您打印字符串时,您已经在创建一个内部变量,因此您可以通过将 print 替换为 variable = 来构建一个变量:

    variable = ("  1   2   3 "
                "
    A" + A1 + " ---" + A2 + "---" + A3,
                "
      |  |  /|"
                "
      |  | / |"
                "
      |  |/  |"
                "
    B " + B1 + "---" + B2 + "---" + B3,
                "
      |  /|  |"
                "
      | / |  |"
                "
      |/  |  |"
                "
    G " + C1 + "---" + C2 + "---" + C3)
    

    也许您也可以使用 '---'.join(arr)B=[B1,B2,B3]C=[C1,C2,C3] 编写子字符串,但这只是用户的选择。

    【讨论】:

      猜你喜欢
      • 2018-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-10
      • 2021-07-15
      • 2017-04-11
      相关资源
      最近更新 更多