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
    * 
   * * 
  * * * 
 * * * * 
* * * * * 
请在以上选项中选一个你所打印的图形:

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

猜你喜欢

转载自blog.csdn.net/qq_39161804/article/details/81275090
今日推荐