2017-12-02 18 views
0

私はハンターです。今後の試験に興味があります。基本的に私は、作り直し(三角形)する方法があるかどうか疑問に思っていました。Pythonで図形を反転させる方法は?

以下は私のコードです。しかし私はまた別のコードを持っています。ちょうど掻きと書換えより簡単な方法があるかどうか疑問に思う。

def a(b): 
    num = 1 
    count= 0 

    for i in range(0, b): 
     row = '' 

     for k in range(0, b-i): 
      row = row + '  ' 
     count=count+2 

     for j in range(1, count): 
      if (num <10): 
       row = row+'  '+str(num) 
      if (num>9 and num<99): 
       row = row+' '+str(num) 
      if (num==99): 
       row = row+' ' 
      if (num>=99 and num<=1000): 
       row = row+' '+str(num) 
      if (num>=1001 and num<=10000000): 
       row = row+' '+str(num) 
      num = num +1 
     print '\r' 
     print(row) 

b= input(str("number of rows: ")) 

a(b) 


def a(number): 
    ctr = 1 
    while(ctr <= number): 
     row_spaces= ' ' * (number - ctr) 
     row = (2*ctr-1) * '$' 
     print(row_spaces+row) 
     ctr = ctr +1 

number= input(str("what is the amount of rows? ")) 
a(number) 

答えて

0

あなたの三角形を反転するには、以下のコードでループしながら、spaces.Change 2番目のためのあなたのロジックを逆にする必要があり、それが動作するはずです、私はあなたのコードにいくつかの変更を行っている:

def a(number): 
    ctr = number 
    while(ctr >= 1): 
     row_spaces= ' ' * (number - ctr) 
     row = (2*ctr-1) * '$' 
     print(row_spaces+row) 
     ctr = ctr -1 

number= int(input("what is the amount of rows? ")) 
a(number) 

出力:

what is the amount of rows? 3 
$$$$$ 
$$$ 
    $ 
+0

ありがとうございます!私は実際に第二を書きました。最初のクラスはクラスの例です。私は最初に論理を逆にしようとしており、それを実現するようには思えません。私は他の方法で印刷するだけで、それは正三角形の左下になります。シンプルなフリップコードがあるかもしれないと思った。 –

+0

長い投稿に申し訳ありません。初めてのユーザーと非常に基本的な理解はすべてpythonを考える!:) –

0
def a(b): 
b = int(b) 
num = b*b -1 
count = b*2 

for i in range(0, b): 
    row = '' 

    for k in range(0, i): 
     row = row + '  ' 

    num = num - (count-3) 

    for j in range(1, count): 
     if (num <10): 
      row = row+'  '+str(num) 
     if (num>9 and num<99): 
      row = row+' '+str(num) 
     if (num==99): 
      row = row+' ' 
     if (num>=99 and num<=1000): 
      row = row+' '+str(num) 
     if (num>=1001 and num<=10000000): 
      row = row+' '+str(num) 
     num = num +1 

    num = num - 1 -(count) 
    count = count-2 

    print '\r' 
    print(row) 

b= input("number of rows: ") 
a(b) 
関連する問題