【问题标题】:How to print multiple strings in columns如何在列中打印多个字符串
【发布时间】:2021-07-25 01:39:06
【问题描述】:

我试图在不同的列中获取两个值或一组字符串。 下面的代码将从列表中随机化两个字母。我遇到的问题是它们一直垂直返回,我想将它们彼此相邻打印。我尝试了几种方法,但都没有奏效。他们要么以与以下输出相同的方式打印它们,要么仅单独打印每个字符,甚至是 \n 等。

import random

letters = {'A', 'B', 'C'}
letter = list(letters)

for _ in range(2):
    random_letter = random.choice(letter)
    print(" ╔═══╗\n", f"║ {random_letter} ║\n", "╚═══╝", end='')

上面的方法返回这个,

╔═══╗
║ A ║
╚═══╝╔═══╗
║ C ║
╚═══╝

这个其他方法像这样返回它,

print("╔═══╗", f"║ {random_letter} ║", "╚═══╝", end='')


╔═══╗ ║ A ║ ╚═══╝╔═══╗ ║ C ║ ╚═══╝

我希望它像这样返回,

╔═══╗╔═══╗
║ A ║║ C ║
╚═══╝╚═══╝

【问题讨论】:

    标签: python list loops printing


    【解决方案1】:
    import random
    
    letters = {'A', 'B', 'C'}
    letter = list(letters)
    
    def print_random_letter_boxes(num_letters = 2):
        print("".join(["╔═══╗" for _ in range(num_letters)]))
        print("".join([f"║ {random.choice(letter)} ║" for _ in range(num_letters)]))
        print("".join(["╚═══╝" for _ in range(num_letters)]))
    
    print_random_letter_boxes()
    

    【讨论】:

    • 这是一种很好的打印方式,但不是我想要的。它返回 ` ` 中的项目。
    • @arm65:适合我。 ` ` 里面到底是什么意思?
    • 没关系,我没有意识到这是一个函数,只是打印它。
    【解决方案2】:

    您必须在 hmb 的变量中初始化所需的框数:

    import random
    
    letters = {'A', 'B', 'C'}
    letter = list(letters)
    v = False # a bool to check if i have printed upper portions of the boxes
    hmb = 2 # this is the "how many boxes" variable
    for _ in range(hmb):
        random_letter = random.choice(letter)
        if not v:
            print("╔═══╗"*hmb)
            v = True # it means all upper portion printed
        if v:
            print("║",random_letter,"║",end="")
        if _ == hmb-1: # the lower part of the boxes will only be printed if its the last time of the loop
            print()
            print("╚═══╝"*hmb)
    

    【讨论】:

      猜你喜欢
      • 2013-10-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-04
      • 1970-01-01
      • 1970-01-01
      • 2021-10-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多