2

トライフォースを作るpythonプログラムを持っているのですが、途中でループとループの間に改行が追加されてしまいます。どうすればこれを削除できますか?

ソースコード:

var = 10

for x in range(var+1):
    print(' '*x+'v'*(10-x)*2+' '*x+' '*x+'v'*(10-x)*2)
for p in range(var+1):
    print(' '*var+' '*p+'v'*(var-p)*2)

input()

結果:

vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
 vvvvvvvvvvvvvvvvvv  vvvvvvvvvvvvvvvvvv
  vvvvvvvvvvvvvvvv    vvvvvvvvvvvvvvvv
   vvvvvvvvvvvvvv      vvvvvvvvvvvvvv
    vvvvvvvvvvvv        vvvvvvvvvvvv
     vvvvvvvvvv          vvvvvvvvvv
      vvvvvvvv            vvvvvvvv
       vvvvvv              vvvvvv
        vvvv                vvvv
         vv                  vv

          vvvvvvvvvvvvvvvvvvvv
           vvvvvvvvvvvvvvvvvv
            vvvvvvvvvvvvvvvv
             vvvvvvvvvvvvvv
              vvvvvvvvvvvv
               vvvvvvvvvv
                vvvvvvvv
                 vvvvvv
                  vvvv
                   vv

真ん中の隙間をなくしたいのですが、うまくいき.rstrip('\n')ません。

ありがとう。

4

4 に答える 4

0

鋭い先端による代替

var = 10

for x in range(var):
    print(' '*x+'v'+'v'*(var-1-x)*2+' '*(2*x+1)+'v'+'v'*(var-1-x)*2)

for p in range(var):
    print(' '*var+' '*p+'v'+'v'*(var-1-p)*2)

プリント...

vvvvvvvvvvvvvvvvvvv vvvvvvvvvvvvvvvvvvv
 vvvvvvvvvvvvvvvvv   vvvvvvvvvvvvvvvvv
  vvvvvvvvvvvvvvv     vvvvvvvvvvvvvvv
   vvvvvvvvvvvvv       vvvvvvvvvvvvv
    vvvvvvvvvvv         vvvvvvvvvvv
     vvvvvvvvv           vvvvvvvvv
      vvvvvvv             vvvvvvv
       vvvvv               vvvvv
        vvv                 vvv
         v                   v
          vvvvvvvvvvvvvvvvvvv
           vvvvvvvvvvvvvvvvv
            vvvvvvvvvvvvvvv
             vvvvvvvvvvvvv
              vvvvvvvvvvv
               vvvvvvvvv
                vvvvvvv
                 vvvvv
                  vvv
                   v

式は(数学的に)単純化できますが、アイデアは印刷することです:

  • インデント
  • 三角形
  • vの列
  • 最初のものに対称三角形

上部では 2 倍になっています。2 番目の部分のインデントは前の部分も考慮に入れます。下部はよりシンプルなインデントです。

于 2013-05-15T08:01:17.747 に答える