
python中如何写直角三角形
用户关注问题
怎样用Python打印不同边长的直角三角形?
我想用Python代码输出一个直角三角形,能否根据用户输入的边长动态调整三角形大小?
使用循环结构绘制可变大小的直角三角形
可以利用for循环结合字符串乘法,根据用户输入的数字n,打印一个高和底都是n的直角三角形。例如:
n = int(input('请输入三角形边长:'))
for i in range(1, n + 1):
print('*' * i)
这样即可打印出一个由星号组成的直角三角形,边长由用户指定。
如何用Python绘制空心的直角三角形?
除了打印实心的直角三角形,我还想打印空心的三角形边框,应该如何实现?
利用条件判断绘制空心直角三角形
通过嵌套循环以及条件判断,只打印边界上的星号,其他位置打印空格,可以实现空心效果。例如:
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()
此代码生成一个空心的直角三角形,边界用星号表示。
如何用Python输出向右对齐的直角三角形?
我想打印一个直角三角形,但希望它右对齐而不是默认的左对齐,该如何实现?
使用字符串的rjust方法打印右对齐的直角三角形
可以在每行打印星号前使用字符串的rjust方法填充空格,从而实现右对齐。例如:
n = int(input('请输入三角形边长:'))
for i in range(1, n + 1):
print(('*' * i).rjust(n))
这样每行的星号会靠右排列,形成右对齐的直角三角形。