Python用while循环写一个等腰三角形

temp=input("打印几行:")n=int(temp)whilen:space=(n-1)whilespace:print("",end="")space=spac... temp = input("打印几行:")
n = int(temp)
while n:
space = (n - 1)
while space:
print(" ",end="")
space = space - 1
x = 1
while x <= (n + n - 1) :
print("*",end="")
x = x + 2
print()
n = n - 1
---------------------------------------
这个是我的代码,有错误,没有实现预期不知道问题在哪。请问正确的应该怎么写?网上我已经搜过了,请不要复制粘贴!
展开
 我来答
一姐韩梅
2018-03-26 · TA获得超过895个赞
知道小有建树答主
回答量:764
采纳率:58%
帮助的人:225万
展开全部
temp = input("打印几行:")
n = int(temp)
space=list(' '*(2*n-2))
mid=n-1
for i in range(n):
    line=space.copy()
    if i != n-1:        
        line[mid-i]='*'
        line[mid+i]='*'
    else:
        line[:]='*'*(2*n-1)
    print(''.join(line))

追问
哥,用while循环怎么写
追答
temp = input("打印几行:")
n = int(temp)
space=list(' '*(2*n-2))
mid=n-1
i=0
while i<n:
    line=space.copy()
    if i != n-1:        
        line[mid-i]='*'
        line[mid+i]='*'
    else:
        line[:]='*'*(2*n-1)
    print(''.join(line))
    i+=1
哦_廿一
2018-03-26 · TA获得超过431个赞
知道小有建树答主
回答量:273
采纳率:91%
帮助的人:232万
展开全部
temp = input("打印几行:")
n = int(temp)

space = 1
while space <= n:
    m = "*"
    l = ("*" * (space-1)).ljust(i-1)
    r = ("*" * (space-1)).rjust(i-1)
    row = r+m+l
    print(row)
    space+=1
追问
里面的“i”不用定义吗?
l = ("*" * (space-1)).ljust(i-1) r = ("*" * (space-1)).rjust(i-1)
这种写法还没学到[捂脸],正在自学入门
追答
i 替换为 n;..我写的时候用的i,忘了替换了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式