控制台输出一个菱形。用python写 5

 我来答
willenhu
2017-07-20 · TA获得超过1772个赞
知道小有建树答主
回答量:865
采纳率:66%
帮助的人:249万
展开全部

首先画一个菱形,看一下规律在哪里,先看下图:

见上图菱形,定义尺寸为size=3,

定义X坐标为i:

  1. A区域X坐标为i,Y坐标为size-i;

  2. B区域X坐标为i,Y坐标为size+i;

  3. C区域X坐标为i,Y坐标为i-size;

  4. D区域X坐标为i,Y坐标为size*3-i

满足1,2,3,4的情况下就输出*,其它则输入空格,这样我们就得到一个菱形,代码如下和输出效果如下:

size = 3 # 定义菱形尺寸
count = size*2+1 # 定义X,Y坐标循环范围
# i为横坐标
for i in range(count):
    # j为纵坐标
    for j in range(count): 
        # 当X,Y满足条件1和2时
        if i <= size and (j == size-i or j == size+i):
            print('*', end='')
        # 当X,Y满足条件3和4时
        elif i > size and (j == i-size or j == size*3-i):
            print('*', end='')
        # 其它情况输入空格
        else:
            print(' ', end='')
    # 每打印一行就换行
    print()
百度网友ce9e08b7
2015-10-25 · TA获得超过1870个赞
知道小有建树答主
回答量:1675
采纳率:0%
帮助的人:1153万
展开全部
line=int(input('请输入菱形行数:'))
for i in range(1,line+1):
    for j in range(1,line+1-i):
        print(' ',end='')
    for k in range(1,2*i):
        print('*',end='')
    print()
for i in range(1,line):
    for j in range(1,i+1):
        print(' ',end='')
    for k in range(1,2*line-2*i):
        print('*',end='')
    print()
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式