Python(for)循环+函数练习——打印图形

代码:

__author__ = 'roohom'
# -*-coding:utf-8-*-


#输入选项,系统打印所要的形状

def solidRectangle():
#打印一个矩形
    for i in range(1,5):
      print()
      for j in range(1,6):
         print("*",end=" ")
    print()

def holowRectahle():
#打印空心矩形
    for i in range(1,5):
       for j in range(1,6):
            if i == 1 or i == 4 or j == 1 or j == 5:
                print("*",end=" ")
            else:
                print("  ",end="")

    print()


def rightTriangle():
#打印直角三角形

    for i in range(1, 6):
        for j in range(6 - i, 6):
            print("*", end=" ")
        print()

def holowTriangle():
#打印空心直角三角形
    for i in range(1,6):
        for j in range(6-i,6):
            if j > 6-i and j < 5 and i < 5 :
                print(" ",end=" ")
            else:
                print("*",end=" ")
        print()
def downwardTriangle():
#打印倒三角形

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

def downwardHolowTriangle():
#打印空心倒三角形

    for i in range(1,6):
        for j in range(i+1,7):
            if j > 1+i and j <6 and i >1:
                print(" " ,end=" ")
            else:
                print("*",end=" ")
        print()


def pyramimd():
#打印金字塔

    for i in range(1,6):
        for j in range(0,5-i):
            print(end=" ")
        for j in range(5-i,5):
            print("*",end=" ")
        print()

def holowPyramid():
#打印空心金字塔

    for i in range(1,6):
        for j in range(0,5-i):
            print(end=" ")
        for j in range(5-i,5):
            if j > 5-i and j <4 and i < 5:
                print(" ",end=" ")
            else:
                print("*",end=" ")

        print()

def downPyramid():
#打印实心倒金字塔

    for i in range(1,6):
        for k in range(i-1):
            print(end=" ")
        for j in range(6-i):
            print("*",end=" ")
        print()
def downHolowPyramid():
#打印空心倒金字塔

    for i  in range(1,6):
        for k in range(i-1):
            print(end=" ")
        for j in range(6-i):
            if j > 0 and j < 5-i and i > 1:
                print(" ",end=" ")
            else:
                print("*",end=" ")
        print()

def rhombus():
#打印实心菱形

    for i in range(1,6):
        for j in range(0,5-i):
            print(end=" ")
        for j in range(5-i,5):
            print("*",end=" ")
        print()
    for i in range(2,6):
        for k in range(i-1):
            print(end=" ")
        for j in range(6-i):
            print("*",end=" ")
        print()


def holowRhombus():
#打印空心菱形

    for i in range(1,6):
        for j in range(0,5-i):
            print(end=" ")
        for j in range(5-i,5):
            if j > 5-i and j <4 :
                print(" ",end=" ")
            else:
                print("*",end=" ")

        print()
    for i in range(2,6):
        for k in range(i-1):
            print(end=" ")
        for j in range(6-i):
            if j > 0 and j < 5-i :
                print(" ",end=" ")
            else:
                print("*",end=" ")
        print()

    print("a 矩形")
    print("b 空心矩形")
    print("c 直角三角形")
    print("d 空心直角三角形")
    print("e 倒三角形")
    print("f 空心倒三角形")
    print("g 金字塔")
    print("h 空心金字塔")
    print("i 实心倒金字塔")
    print("j 空心倒金字塔")
    print("k 实心菱形")
    print("l 空心菱形")
while True:
    print("输入-1结束")
    shape = input("请在以上选项中选一个你所打印的图形:")
    if shape == "-1":
        break
    elif shape == "a":
        solidRectangle()
    elif shape == "b":
        holowRectahle()
    elif shape == "c":
        rightTriangle()
    elif shape == "d":
        holowTriangle()
    elif shape == "e":
        downwardTriangle()
    elif shape == "f":
        downwardHolowTriangle()
    elif shape == "g":
        pyramimd()
    elif shape == "h":
        holowPyramid()
    elif shape == "i":
        downPyramid()
    elif shape == "j":
        downHolowPyramid()
    elif shape == "k":
        rhombus()
    elif shape == "l":
        holowRhombus()

输出:

请在以上选项中选一个你所打印的图形:k
    * 
   * * 
  * * * 
 * * * * 
* * * * * 
 * * * * 
  * * * 
   * * 
    * 
请在以上选项中选一个你所打印的图形:g
    * 
   * * 
  * * * 
 * * * * 
* * * * * 
请在以上选项中选一个你所打印的图形:

小练习,方法不一,此处使用自己想出的笨拙的方法打印, 通过适当代码的组合,还可以打印英文字母。请指点。

 

  • 4
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值