Python while 循环打印菱形的2种方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xiangzhi0627/article/details/82721700

#while作业

#x,y数学方法
#abs()函数返回的是数字的绝对值
#利用x,y数学坐标法

# 假设 x 的最小坐标为-12
# x=-12
# while x<=12: # 当x小于最大坐标时循环开始到最大结束期间24次循环
#     # y与x基本相同
    y=-12
    xy=""
    while y<=12:
         #坐标绝对值相加如4个顶点  北(0,12) 南(0,-12) 东(12,0) 西(-12,0) 为=12输出 *
         #坐标内 北下(0,11) 南(0,-11) 东(11,0) 西(-11,0) 为小于12输出 *
         #改变条件可调整
         if abs(x)+abs(y)<=12:
             xy+="*"
         else:
             xy+=" "
         y+=1
     x+=1
     print(xy)


#拼接法
x=0
while x<=6:
    y=0
    while y<=6:
        if 6-x-y<=0:
            print("*", end=" ")
        else:
            print(" " , end="")
        y+=1
    x+=1
    print()
x=0
while x<=6:
    y=0
    while y<=6:
        if x-y>=0:
            print(" ", end="")
        else:
            print("*", end=" ")
        y+=1
    x+=1
    print()
 

猜你喜欢

转载自blog.csdn.net/xiangzhi0627/article/details/82721700