(ダイヤモンドと砂時計の形成を含む)4つ星形成のための循環でのpythonを印刷

自分の手書いたあなたの参考のために以下のコードを惑わさ、書くことながら、実際には、ブログの記事は、(ダイヤモンド砂時計を含む)星のいくつかの形成を印刷する方法について話を参照してください。

  1. 1つ星形成
    ここに画像を挿入説明
def stars1(n):
	for i in range(1,n+1):
		str = "*"*i
		print str
		
if __name__ ==  "__main__":	
	stars1(5)
  1. 2つ星形成
    ここに画像を挿入説明
def stars2(n):
	for i in range(1,n+1):
		str = '*'*(n+1-i)
		print str
		
if __name__ ==  "__main__":	
	stars2(5)
  1. 3つ星形成
    ここに画像を挿入説明
def stars3(n):
	for i in range(1,n+1):
		str = ' ' * (n-i) + '*' * i
		print str
		
if __name__ ==  "__main__":	
	stars3(5)
  1. 4つ星形成
    ここに画像を挿入説明
def stars4(n):
	for i in range(1,1+n):#total n line(s)
		str = ' '*(i-1) + '*'*(n+1-i)
		print str
		
if __name__ ==  "__main__":	
	stars4(5)

ダイヤモンドの形成
ここに画像を挿入説明

def stars5(n):
    RANGE1 = [2*i+1 for i in range(n)]
    RANGE2 = [2*i+1 for i in range(n)[::-1]][1:]
    RANGE = RANGE1 + RANGE2

    RANGE_1 = [i for i in range(n)[::-1]]
    RANGE_2 = [i for i in range(n)[1:]]
    RANGE_12 = RANGE_1 + RANGE_2

    for i in range(len(RANGE)):
        print ' '*RANGE_12[i] + '*'*RANGE[i]
    
if __name__ ==  "__main__":	
	stars5(5)

6.砂時計の形成
ここに画像を挿入説明

def star6(n):
    a = [i*2+1 for i in range(n)[::-1]]
    b = [i*2+1 for i in range(n)][1:]
    aa = a + b
    
    d = [i for i in range(n)]
    e = [i for i in range(n)[::-1]][1:]
    dd = d + e
    
    for j in range(len(dd)):
        print ' '*dd[j] + '*'*aa[j]   
         
if __name__ == "__main__":
    star6(5)

上記のコードを検証した後星形成の必要性が生じ、正常に実行することができます。
有用な文字列を操作する方法のこれらのいくつかの例。

おすすめ

転載: blog.csdn.net/weixin_42883530/article/details/86674083