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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python用while循环写一个等腰三角形相关的知识,希望对你有一定的参考价值。

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
---------------------------------------
这个是我的代码,有错误,没有实现预期不知道问题在哪。请问正确的应该怎么写?网上我已经搜过了,请不要复制粘贴!

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

参考技术A 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,忘了替换了

本回答被提问者采纳

以上是关于Python用while循环写一个等腰三角形的主要内容,如果未能解决你的问题,请参考以下文章

用while循环python写factorial

怎么写一个Python程序计算1~10的乘积程序要用while循环?

用循环打印出多种三角形

用C语言循环嵌套语句编出一个三角形形状

Python3基础12——while循环

Python学习之路——while循环