例

#coding:utf-8 rows = int(raw_input('列数を入力:')) i = j = k = 1 #変数を宣言する。iは外側のループ(図形の行数)を制御し、jはスペースの個数を制御し、kは*の個数を制御する #直角二等辺三角形1 print "直角二等辺三角形1" for i in range(0, rows): for k in range(0, rows - i): print " * ", #ここでの","に注意、必ず省略してはいけない。改行しない効果がある k += 1 i += 1 print "\n" #塗りつぶした正三角形を出力 print "中空の正三角形を出力。ここでif-else条件分岐を削除すると塗りつぶしになる" for i in range(0, rows + 1):#変数iが行数を制御する for j in range(0, rows - i):#(1,rows-i) print " ", j += 1 for k in range(0, 2 * i - 1):#(1,2*i) if k == 0 or k == 2 * i - 2 or i == rows: if i == rows: if k % 2 == 0:#最初の数は0から始まるため、偶数の場合は*を出力し、奇数の場合はスペースを出力する print "*", else: print " ", #ここでの","に注意、必ず省略してはいけない。改行しない効果がある else: print "*", else: print " ", k += 1 print "\n" i += 1 #菱形を出力 print "中空の菱形を出力。ここでif-else条件分岐を削除すると塗りつぶしになる" for i in range(rows):#変数iが行数を制御する for j in range(rows - i):#(1,rows-i) print " ", j += 1 for k in range(2 * i - 1):#(1,2*i) if k == 0 or k == 2 * i - 2: print "*", else: print " ", k += 1 print "\n" i += 1 #菱形の下半分 for i in range(rows): for j in range(i):#(1,rows-i) print " ", j += 1 for k in range(2 * (rows - i) - 1):#(1,2*i) if k == 0 or k == 2 * (rows - i) - 2: print "*", else: print " ", k += 1 print "\n" i += 1 #塗りつぶした正方形 print "塗りつぶした正方形" for i in range(0, rows): for k in range(0, rows): print " * ", #ここでの","に注意、必ず省略してはいけない。改行しない効果がある k += 1 i += 1 print "\n" #中空の正方形 print "中空の正方形" for i in range(0, rows): for k in range(0, rows): if i != 0 and i != rows - 1: if k == 0 or k == rows - 1: #視覚的に正方形により近く見えるように、ここでは*の両側にスペースを追加して間隔を広げている print " * ", #ここでの","に注意、必ず省略してはいけない。改行しない効果がある else: print " ", #この箇所にはスペースが3つある else: print " * ", #ここでは*の両側にスペースを追加している k += 1 i += 1 print "\n"

実行して出力結果:

输入列数: 4
等腰直角三角形1
 *   *   *   *  

 *   *   *  

 *   *  

 *  

打印空心等边三角形,这里去掉if-else条件判断就是实心的
        

      * 

    *   * 

  *       * 

*   *   *   * 

打印空心等菱形,这里去掉if-else条件判断就是实心的
        

      * 

    *   * 

  *       * 

*           * 

  *       * 

    *   * 

      * 

实心正方形
 *   *   *   *  

 *   *   *   *  

 *   *   *   *  

 *   *   *   *  

空心正方形
 *   *   *   *  

 *           *  

 *           *  

 *   *   *   *