簡體   English   中英

如何在每一行中打印一個字符串,並從該行的第一行起留一些空格?

[英]How to print a string in each line with some space from the first of the line?

我沒有寫一個明確的主題,因為我不知道該寫什么,首先抱歉。

我想要達到的是:

a
    a
        a
            a
                a
            a
        a
    a
a

使用for循環,我想我可以達到這個目的,但我嘗試的是完全錯誤的。

您的increment計數器在您的代碼中是無用的。

我處理這個問題的方法是:

column_num = 0
for i in range(10):  # rows
    for j in range(10):  # cols
        if j == column_num:
            print("a", end='')
        else:
            print(' ', end='')
    print()  # newline
    column_num += 1

#then reverse:
column_num -= 1
for i in range(10): #rows
    for j in range(10): #cols
        if j == column_num:
            print("a", end = '')
        else:
            print(' ', end = '')
    print() #newline
    column_num -= 1

也許你正在鎖定這樣的東西。

a = 'a    '
space = '\t'

for c in range(5):
    print(space*c + a)

for c in range(5,0,-1):
    print(space*c + a)

您可以遞歸地執行此操作:

def print_angle(s, start, end, direction):
    indent = "  "*start
    print(f"{indent}{s}")

    if start < end-1 and direction:
        print_angle(s, start+1, end, 1)
    elif start > 0:
        print_angle(s, start-1, end, 0)

print_angle('a', 0, 5, 1)

這打印:

a
   a
      a
        a
           a
        a
      a
   a
a

這里的想法是:

1.傳所需的字符打印-一個在這種情況下。

2.通過起點 - 在這種情況下 0 縮進。

3.通過終點 - 共 5 關。

4.傳球方向 - 1 向上,0 向下。

5.遞歸向上直到到達終點,保持方向,最初向上。

6.遞歸向下直到到達 0 並退出。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM