python中如何写直角三角形

python中如何写直角三角形

作者:William Gu发布时间:2026-01-15阅读时长:0 分钟阅读次数:4

用户关注问题

Q
怎样用Python打印不同边长的直角三角形?

我想用Python代码输出一个直角三角形,能否根据用户输入的边长动态调整三角形大小?

A

使用循环结构绘制可变大小的直角三角形

可以利用for循环结合字符串乘法,根据用户输入的数字n,打印一个高和底都是n的直角三角形。例如:

n = int(input('请输入三角形边长:'))
for i in range(1, n + 1):
    print('*' * i)

这样即可打印出一个由星号组成的直角三角形,边长由用户指定。

Q
如何用Python绘制空心的直角三角形?

除了打印实心的直角三角形,我还想打印空心的三角形边框,应该如何实现?

A

利用条件判断绘制空心直角三角形

通过嵌套循环以及条件判断,只打印边界上的星号,其他位置打印空格,可以实现空心效果。例如:

n = int(input('请输入三角形边长:'))
for i in range(1, n + 1):
    for j in range(1, i + 1):
        if j == 1 or j == i or i == n:
            print('*', end='')
        else:
            print(' ', end='')
    print()

此代码生成一个空心的直角三角形,边界用星号表示。

Q
如何用Python输出向右对齐的直角三角形?

我想打印一个直角三角形,但希望它右对齐而不是默认的左对齐,该如何实现?

A

使用字符串的rjust方法打印右对齐的直角三角形

可以在每行打印星号前使用字符串的rjust方法填充空格,从而实现右对齐。例如:

n = int(input('请输入三角形边长:'))
for i in range(1, n + 1):
    print(('*' * i).rjust(n))

这样每行的星号会靠右排列,形成右对齐的直角三角形。