2017-03-10 19 views
0

私はスペースとドットだけで正方形を作ろうとしていますが、問題があります。 このようにコードを作成する必要があるので、各パラメータの1入力だけで正方形のサイズを変更できます。私は "side"変数に問題があります。ちょうど1つの入力値を与えるだけで、どのように左側と右側の間のスペースを自動化できますか?"。"で四角を描く"" Pythonでのみ ""

def square_shape(top,sides,bottom): 
      top = ". "*top 
      sides =((".")+("  .\n"))*sides 
      bottom = ". "*bottom 
      print top 
      print sides,bottom 
     square_shape(8,7,8) 

P.Sこのコードでは、正常に動作しますが、上下のサイズを変更すると、必要な領域が側面に作成されません。 私は明確だったと思う。

def square_shape(leng): # no need to use 3 variables 
     print (". "*leng) 
     for _ in range(leng-2): 
      print (". " + " " * (leng - 2) + ".") 
     print (". "*leng) 
square_shape(8) 

出力を -

はスペースが正方形の長さに依存している作成し、文字列で\nを使用していないか、他のあなたの最後の行も改行を出力します事前

答えて

1

でいただきありがとうございます -

. . . . . . . . 
.    . 
.    . 
.    . 
.    . 
.    . 
.    . 
. . . . . . . . 
+0

。あなたのお時間をありがとう! – Unix

+0

@Unix通常のループを使用することができます。編集を確認してください。 – hashcode55

+0

おかげで、今、理解しています – Unix

0

この内容はどうですか?完璧だが、私はまだ(.join)メソッドを学んでいないと私は来週中期を持っていますので、私はそれを使用する場合、それが問題になるかどうかはわからない

def square_shape(size): 
    print '. ' * size + '.' 
    print ('.' + ' ' * (size-1) + ' .\n') * (size-1), 
    print '. ' * size + '.' 
+0

ありがとうございました! – Unix

+0

@Bendikこれは完璧な四角形を印刷しません。最後の行の前に改行があります。 – hashcode55

+0

今や、領域サイズ*サイズの完璧な正方形は、今すぐ行の数を固定しました。 – Bendik

関連する問題