Python---基础---循环,函数

2019-05-21

-----------------------------------

# 打印出一个矩形
# 控制行
for i in range(1, 5):
    #控制列
    for j in range(1, 6):
        print('*', end= " ")
    #当第i行的5列输出完后进行换行  
    print()   
 # 分割一下输出,用的是字符串乘法
print('='*20)
#打印空心矩形
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()

-----------------------------------

 

 # 打印直角三角形
# 控制行
for i in range(1,6):
    # 控制列,规则是第一行一列,第二行是二列
    for j in range(6-i, 6):
        print('*', end=" ")
    print()
print('='*20)
------------------------------------
# 打印直角三角形
# 控制行
for i in range(1,6):
    # 控制列,规则是第一行五列,第二行是四列 i=1,j的范围是6, i=2, j=5
    for j in range(1, 7-i):
        print('*', end=" ")
    print()
print('='*20)
for i in range(1, 6):
    # 控制列,规则是第一行五列,第二行是四列 i=1,j的范围是6, i=2, j=5
    for j in range(1, 7-i):
        if i==1 or i==5 or j==1 or j==7-i-1:
            print('*', end=" ")
        else:
            print(' ', end=" ")
    print()
---------------------------------------
# 打印等腰三角形
# 控制行
for i in range(5):
    for j in range(1,5 - i):
        print(end=" ")
    # 控制列,规则是第一行五列,第二行是四列 i=1,j的范围是6, i=2, j=5
    for k in range(5 - i, 6):
        print('*', end=" ")
       
    print()
print('='*20)
---------------------------------------
#控制行
for i in range(1, 6):
    for k in range(1, 6 - i):
        print(end = " ")
    #控制列,规则是第一行一列,第二行是二列
    for j in range(6-i, 6):
        print('*', end=" ")
    print()
   
print('='*20)
--------------------------------------
#空心
#控制行
for i in range(1, 6):
    for k in range(1, 6 - i):
        print(end = " ")
    #控制列,规则是第一行一列,第二行是二列
    for j in range(6-i, 6):
        if i==1 or i==5 or j==6-i or j==5:
            print('*', end=" ")
        else:
            print(' ', end=" ")
    print()
   
print('='*20)
---------------------------------------------
函数
---------------------------------------------
#实心矩形
def s_jx():
    #控制行
    for i in range(1, 5):
        #控制列
        for j in range(1, 6):
            print('*', end=" ")
        #当第i行的5列输出完后进行换行
        print()
#空心矩形
def k_jx():
    for i in range(1, 6):
        for j in range(1, 6 - i):
            print(end = " ")
        #控制列,规则是第一行一列,第二行是二列
        for j in range(6-i, 6):
            if i==1 or i==5 or j==6-i or j==5:
                print('*', end=" ")
            else:
                print(' ', end=" ")
        print()
# 正着实心等腰直角三角形
def s_sjx():
    #控制行
    for i in range(1, 6):
        #控制列,规则是第一行一列,第二行是二列
        for k in range(6-i, 6):
            print('*', end = " ")
        print()
       
#正着空心等腰直角三角形
def k_sjx():
    for i in range(1, 6):
        for j in range(6-i, 6):
            if i == 1 or i == 5 or j == 6 - i or j == 5:
                print('*', end= " ")
            else:
                print(' ', end=" ")
        print()
shape = input("请输入实心矩形,实心三角形,空心矩形,实心三角形")
if shape =="实心矩形":
    s_jx()
elif shape == "空心矩形":
    k_jx()
elif shape == "实心三角形":
    s_sjx()
elif shape == "空心三角形":
    k_sjx()
else:
    print('你是不是傻')
-----------------------------------------
 #实心矩形
def s_jx():
    #控制行
    for i in range(1, 5):
        #控制列
        for j in range(1, 6):
            print('*', end= " ")
        #当第i行的5列输出完后进行换行
        print()
s_jx()
-------------------------------------------
#实心矩形
def s_jx():
    #控制行
    for i in range(1, 5):
        #控制列
        for j in range(1, 6):
            print('*', end= " ")
        #当第i行的5列输出完后进行换行
        print()
s_jx()
print('='*20)
#空心矩形
def k_jx():
    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( )
k_jx()
-----------------------------------
 
posted @ 2019-05-21 11:48  zhouhaiwu  阅读(228)  评论(0编辑  收藏  举报