繁体   English   中英

如何在最后以数字打印范围内的星星?

[英]How to print stars in range with number at the end?

我正在尝试像这样打印 function:

***1
**22
*333
4444

function 可能像star(n) ,其中 n 为 4。你能帮帮我吗?

这将给出上述 output。

def star(n): 
    myList = [] 
    for i in range(1,n+1): 
        myList.append("*"*(n-i)+str(i)*i) 
    print("\n".join(myList)) 

star(4)

Output

***1
**22
*333
4444

尝试类似:

def printStar(n):
    for i in range(1, n+1):
        stars = '*'*(n-i)
        nums = str(i)*i
        print(f"{stars}{nums}")

Output:

***1
**22
*333
4444

这个要快一点!

def star(n):
    for i in range(n):
        a = ('*' if (n-j-1 > i) else i+1 for j in range(n))
        print(*a, sep='')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM