打印任意数量的给定大小的三角形输出打印额外的尾随空格

2024-03-28 09:27:17 发布

您现在位置:Python中文网/ 问答频道 /正文

打印任意数量的给定大小的三角形。你知道吗

程序将从标准输入中获取三角形高度和三角形行数。你知道吗

高度和行数都应在[1,20]范围内。你知道吗

如果高度无效或丢失,请打印无效高度。然后退出。你知道吗

如果行数无效或丢失,则打印无效行数。然后退出。你知道吗

输出的每一行后面不应该有尾随空格。你知道吗

我的程序几乎是正确的除了尾随空格,但我不知道如何删除这些尾随空格。你知道吗

import sys
size = input('Enter height: ')
if (not str(size).isdigit()) or int(size) >20 or int(size)<1:
    print()
    print('Invalid height.')
    exit()
level = input('Enter number of rows: ')
if (not str(level).isdigit()) or int(level) >20 or int(level)<1:
    print()
    print('Invalid number of rows.')
    exit()
print()
height=int(size)
row=int(level)
def solve(height, row):
    for i in range(0, row):
        for k in range(0, height):
            for j in range(0, (row - i) * height - k-1):
                print(" ",end='')
            if (k != height - 1):
                for j in range(0, i+1):
                    print("/",end='')
                    for l in range(0, k * 2):
                        print(" ",end='')
                    print("\\",end='')
                    for l in range(0, (height - k - 1) * 2):
                        print(" ",end='')
            else:
                for j in range(0, i + 1):
                    print("/",end='')
                    for l in range(0, (height - 1) * 2):
                        print("_",end='')
                    print("\\",end='')
            print("\n",end='')
solve(height, row)

实际结果1(除了后面的空格外几乎正确): enter image description here

实际结果2(除尾随空格外几乎正确): enter image description here 实际结果3(除尾随空格外几乎正确): enter image description here 实际结果4(除尾随空格外几乎正确): enter image description here


Tags: orinforsizeif高度rangelevel
1条回答
网友
1楼 · 发布于 2024-03-28 09:27:17

print("\\", end='')下面添加if j!=i,它应该可以工作。 这将检查您是否刚刚打印了行的最后\,并跳过打印以下空格。你知道吗

print("\\", end='')
if j!=i:
    for l in range(0, (height - k - 1) * 2):
        print(" ", end='')

相关问题 更多 >