python用*输出图形

1.直角三角形

for i in range(1,6):
    for a in range(1,i+1):
        print("*",end='')
    print()

for i in range(1,6):
    for b in range(1,10-(2*i)):
        print("*",end='')
    print()

     一个很简单的按行输出“ * ”的代码,只需要考虑每行输出几个符号就可以构建出一个直角三角形。

2.等腰三角形

for i in range(1,6):  # i来控制第几行
    for j in range(1,6-i):  # j控制某一行前面的空格
        print(' ',end='')
    for k in range(1,i*2):  # k控制输出的*
        print("*",end='')
    print()

for i in range(1,6):
    for a in range(1,i+1):
        print(" ",end='')
    for b in range(1,10-(2*i)):
        print("*",end='')
    print()

        输出图形可以把图形想成两部分的组合,空格和" * " ,用直角三角形做一个空格的输出,再配合“ * ”的输出,组成等腰三角形。总共用了三个循环,外层循环控制层数。

        内层两个平级的循环,一个输出空格,一个输出“ * ”,因为要边空格边符号,就用了两个for。

        值得注意的是range范围是左闭右开的,有时候图形输出不正常很有可能是由于range范围错误。range范围是根据行数与应输出符号的数量的函数关系来确定的。

3.菱形

for i in range(1,6):
    for j in range(1,6-i):
        print(" ",end='')   # 以空格结尾不换行
    for k in range(1,2*i):
        print("*",end='')    # 输出*
    print() # 换行
for i in range(1,5):
    for a in range(0,i):
        print(" ",end='')
    for b in range(1,10-(2*i)):
        print("*",end='')
    print()

        这里用直角三角形构建等腰三角形,再用两个等腰三角形构建出一个菱形,两个方向相反的等腰三角形按顺序输出得到一个菱形或者平行四边形。

4.任意奇数行菱形

num = int(input("请输入菱形的行数:"))
#//为取整除
top = (num+1)//2
#上半部分
for i in range(1,top+1):    #括号内左开右闭所以需要加一
    for j in range(1,top+1-i):
        print(" ",end='')
    for k in range(1,i*2):
        print("*",end='')
    print()
#下半部分
bottom = num//2
for i in range(1,bottom+1):
    for j in range(1,i+1):
        print(" ",end='')
    for k in range(1,2*bottom-2*i+2):
        print("*",end='')
    print()
  • 5
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值