2017-04-06 12 views
1

私はこの単純なピラミッドを持っています。これは次のように動作します。 1.数字と複数の文字を入力します。 2.あなたの数字に文字を乗じた文字が表示されます。テーブルはピラミッドとして表示されます。複数の文字が使用できないピラミッド

私は文字列のLen()を取得することを考えていましたが、次にそれを正しく整列させるために他に何ができるかわかりません。

Problem : If you do 5 G 
    G 
    GG 
    GGG 
GGGG 
GGGGG 

But if you do 5 GG 
    GG 
GGGG 
GGGGGG 
GGGGGGGG 
GGGGGGGGGG 

My rjustはこのためのトリックをしていないようです。


import sys 


def pyramide(nbr, char): 
    resultat = '' 
    for i in range(0, nbr+1): 
     resultat += (nbr * str('') + int(i) * str(char) + "\n").rjust(nbr+1) 
    return resultat 

def main(): 
    nbr = int(sys.argv[1]) 
    char = (sys.argv[2]) 
    message = pyramide(nbr, char) 
    print(message) 

if __name__ == "__main__": 
    main() 
+0

複数の文字を入力するアクターは「あなたが数字と文字を入力しました」という要件に合致しないので、うまく動作しないことに驚くことはありません。 – TigerhawkT3

+0

しかし、ユーザーが複数の文字を入力しても整列したい場合 –

+0

rjust(nbr + 1)をrjust(len(char)* nbr + 1)に変更する – Shiping

答えて

0

私はその後、私は、文字の量に追加し、prespacingを追加することにより、起動したい:

def pyramide(size, char): 
    resultat = '' 
    for i in range(0, size): 
     resultat += (' ' * (size-i)) + (char * int(i*2+1)) + '\n' 
    return resultat 
+0

私は解決策を上海の船から使いました。 rjust(len(char)* nbr + 1)コードの変更が少ない: –

+0

resultat + =(nbr * str( '')+ int(i)* str(char) –

関連する問題