写程序用while实现打印三角形。要求输入一个整数表示三角形的宽度和高度,打印出如下的三种直角三角形

题目

  1. 写程序用while实现打印三角形。要求输入一个整数表示三角形的宽度和高度,打印出如下的三种直角三角形:
    我是你爸爸
    解析:
    宽度表示三角形的底边长,高度代表需要打印的行数
    代码:
# 写程序用while实现打印三角形。要求输入一个整数表示三角形的宽度和高度,打印出如下的三种直角三角形
# 解析
# 宽度表示三角形的底边长,高度代表需要打印的行数
triangle = [int(i) for i in input('输入三角形的宽度和高度,以‘,’分隔(只能打印三角形,不能打印不规则图形):').split(',')]  # 利用split()函数可以实现连续的输入
print(triangle)
for i in range(1, triangle[-1] + 1):  # 高度-----5
    for j in range(i, triangle[0] + 1):  # 宽度----3
        temp1 = j
        while triangle[0] - temp1 > 0:
            print(' ', end='')
            temp1 += 1
        temp2 = i
        while temp2 > 0:
            print('*', end='')
            temp2 -= 1
        print('')
        break

print('%%%%%%%%%%%%%%%%%%%%%%%%%%%%分界线,这个可以打印梯形%%%%%%%%%%%%%%%%%%%%%%')
for high in range(0, triangle[-1]):  # 高度-----
    for row in range(high, triangle[0] + 1):  # 宽度----
        temp_high = high
        while temp_high > 0:
            print(' ', end='')
            temp_high -= 1
        temp_row = triangle[0] - high
        while temp_row > 0:
            print('*', end='')
            temp_row -= 1
        print()
        break

print('%%%%%%%%%%%%%%%%%%%%分界线%%%%%%%%%%%%%%%%%%%%%%%%%%%')
for high in range(1, triangle[-1] + 1):  # 高度-----
    for row in range(0, high):  # 宽度-----
        print('*', end='')
    print()

如果想要既能够打印三角形,又可以打印不规则图形,可以在每一层增加判断语句,
如果高已经达到最大,检查宽度是否达到最大,如果宽度已经达到最大,检查高度是否达到最大
如果输入的高和宽相等则一定可以打印成三角形,如果高和宽不相等则一定会打印不规则图形
代码:

# 如果想要既能够打印三角形,又可以打印不规则图形,可以在每一层增加判断语句,
# 如果高已经达到最大,检查宽度是否达到最大,如果宽度已经达到最大,检查高度是否达到最大
# 如果输入的高和宽相等则一定可以打印成三角形,如果高和宽不相等则一定会打印不规则图形
triangle = [int(i) for i in input('输入三角形的宽度和高度,以‘,’分隔(可以打印不规则图形):').split(',')]  # 利用split()函数可以实现连续的输入
print(triangle)
for high in range(1, triangle[-1] + 1):  # 高
    for row in range(high, triangle[0] + 1):  # 宽
        temp_row = row
        if high == triangle[-1] and triangle[0] > triangle[-1]:
            pass
        else:
            while triangle[0] - temp_row > 0:
                print(' ', end='')
                temp_row += 1
        if high == triangle[0] and triangle[0] < triangle[-1]:
            temp_high = triangle[-1] - high + 1
            while temp_high > 0:
                temp_row = row
                while temp_row > 0:
                    print('*', end='')
                    temp_row -= 1
                print()
                temp_high -= 1
            break
        elif high == triangle[-1] and triangle[0] > triangle[-1]:
            temp3 = triangle[0]
            while temp3 > 0:
                print('*', end='')
                temp3 -= 1
            print()
            break
        else:
            temp_high = high
            while temp_high > 0:
                print('*', end='')
                temp_high -= 1
            print('')
            break

结果:
我是你爸爸

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东篱把酒黄昏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值