如何按顺序连续打印?

时间:2018-01-15 12:54:30

标签: python

def maketriangle(num):
    num = input("Enter a number")
    number = int(num)
    for i in range(0, number):
        for j in range(0, i+1):
            print("*", end='')
        print("\n")
print(maketriangle(num))

您好,我对Python完全陌生。 我想制作一个打印三角形的功能。 此代码将使用" *"以金字塔形式创建三角形。

因此,如果我插入2,它将形成一个像

的三角形
*  
**  

如果我插入4,它将形成一个像

的三角形
*  
**  
***  
****  

我想将*更改为此订单:?!#$ 所以,如果我插入4,它将形成一个像

的三角形
?  
?!  
?!#  
?!#$  

我该如何更改代码..?

2 个答案:

答案 0 :(得分:2)

这个简约功能怎么样:

def make_t(h, ch):
    for i in range(1, h+1):
        print(ch * (i // len(ch)) + ch[:i % len(ch)])

示例:

make_t(4, '*')

*
**
***
****
make_t(5, '?!#$')

?
?!
?!#
?!#$
?!#$?

要了解它的运作方式,您需要查看整数除法//),moduli%)和字符串切片[:])。

答案 1 :(得分:0)

这可能对您有所帮助

 def makeT(num):
     lst=['?','!','#','$']
     for i in range(0,num):
         for j,k in zip(range(0,i+1),lst):
             print(k, end='')
         print("\n")